|
68358
|
1549
|
1
|
2026-04-21T17:00:54.125495+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776790854125_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Win rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Windowmelp• us-east-2.signin.aws.amazon.com/oProiect Phoenix - Fiama(UY-20372) Al Reports > Empty palProiect Phoenix - Figma* Project Phoenix - FigmaProject Phoenix - Figma|X Jiminny MCP Connector - ProductM Jiminny MailJY-20500] Batch initial sync for S) Feed - jiminny - Sentry8 JiminnyPipelines - jiminnvlapr.= Formalize(SRD-6793) Les Mills activity type:Search results: calendar I.liminny8 Jiminny7 Jiminnv8 Jiminny≥ Edit - Engineering - Confluence-7 (Jy-189091 [Part21 Automated redSevenShores|Hubspot\ExceptionsAmazon Web Services Sian-Inx+ New TabIAM user sign in ©Account lb or allas (bont have?)jmny• Remember this accountIAM usernamePassworaShow PasswordHaving trouble?Sign inSian in usina root user emailCreate a new AWS accountBy continuing, you agree to AWS Customer Agreement orother aareement for AWS services, and the Privacy NoticeThis site uses essential cookies. See our Cookie Notice forawsAccess your S3 data as filesAmazon S3 Files delivers a shared filesystem that connects AWS computeresources with S3.Get started with S3 Files →? 100% L2 ∞ luezlApr 20:00:04Provide feedbackMulti-session disabledEnglish -...
|
NULL
|
1164303402503363201
|
NULL
|
idle
|
ocr
|
NULL
|
rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Win rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Windowmelp• us-east-2.signin.aws.amazon.com/oProiect Phoenix - Fiama(UY-20372) Al Reports > Empty palProiect Phoenix - Figma* Project Phoenix - FigmaProject Phoenix - Figma|X Jiminny MCP Connector - ProductM Jiminny MailJY-20500] Batch initial sync for S) Feed - jiminny - Sentry8 JiminnyPipelines - jiminnvlapr.= Formalize(SRD-6793) Les Mills activity type:Search results: calendar I.liminny8 Jiminny7 Jiminnv8 Jiminny≥ Edit - Engineering - Confluence-7 (Jy-189091 [Part21 Automated redSevenShores|Hubspot\ExceptionsAmazon Web Services Sian-Inx+ New TabIAM user sign in ©Account lb or allas (bont have?)jmny• Remember this accountIAM usernamePassworaShow PasswordHaving trouble?Sign inSian in usina root user emailCreate a new AWS accountBy continuing, you agree to AWS Customer Agreement orother aareement for AWS services, and the Privacy NoticeThis site uses essential cookies. See our Cookie Notice forawsAccess your S3 data as filesAmazon S3 Files delivers a shared filesystem that connects AWS computeresources with S3.Get started with S3 Files →? 100% L2 ∞ luezlApr 20:00:04Provide feedbackMulti-session disabledEnglish -...
|
NULL
|
|
68359
|
1548
|
2
|
2026-04-21T17:01:14.961713+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776790874961_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
1PasswordFileEditViewDOCKER• ₴1Count: 10Properties 1PasswordFileEditViewDOCKER• ₴1Count: 10Properties:hs_deal_stacclosedate:dealstage:-zshEvent:Count: 3creationObject Type: companyEvent: property_chCount: 160Properties:phone: 11 chhubspot_ownecountry: 10name: 11 chcdomain:11industry: 4Event: associationCount: 10386Event:creationCount: 11Object Type: contactEvent: property_chCount: 298Properties:lastname: 12phone: 14chjobtitle:16mobilephone:firstname:email: 16 cthubspot_ownecountry: 6associatedcoEvent:associationCount: 10466Event:creationCount: 16AccountsWindowHelp882-zshJiminnyProfileAll ItemsFavoritesWatchtower<|› DeveloperVAULTSEmployeeEngineeringIntegration Accounts8 JiminnyV TAGS• 2FACSV Import 28.01.22LastPass Import 1.11.21C4Anbare Vitec2-user@ip-10-30-159-186:~* Build full day ac…..• &4|screenpipe"O 85-zsh86→Search in Jinfinny2 results for "PLanhat"EQIF8 JiminnyEmployee [EMAIL] log in ([EMAIL]@[URL_WITH_CREDENTIALS] New ItemEditGood...
|
NULL
|
-4075918081014017313
|
NULL
|
idle
|
ocr
|
NULL
|
1PasswordFileEditViewDOCKER• ₴1Count: 10Properties 1PasswordFileEditViewDOCKER• ₴1Count: 10Properties:hs_deal_stacclosedate:dealstage:-zshEvent:Count: 3creationObject Type: companyEvent: property_chCount: 160Properties:phone: 11 chhubspot_ownecountry: 10name: 11 chcdomain:11industry: 4Event: associationCount: 10386Event:creationCount: 11Object Type: contactEvent: property_chCount: 298Properties:lastname: 12phone: 14chjobtitle:16mobilephone:firstname:email: 16 cthubspot_ownecountry: 6associatedcoEvent:associationCount: 10466Event:creationCount: 16AccountsWindowHelp882-zshJiminnyProfileAll ItemsFavoritesWatchtower<|› DeveloperVAULTSEmployeeEngineeringIntegration Accounts8 JiminnyV TAGS• 2FACSV Import 28.01.22LastPass Import 1.11.21C4Anbare Vitec2-user@ip-10-30-159-186:~* Build full day ac…..• &4|screenpipe"O 85-zsh86→Search in Jinfinny2 results for "PLanhat"EQIF8 JiminnyEmployee [EMAIL] log in ([EMAIL]@[URL_WITH_CREDENTIALS] New ItemEditGood...
|
68357
|
|
68360
|
1549
|
2
|
2026-04-21T17:01:26.104415+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776790886104_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Win rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Windowmelp• us-east-2.signin.aws.amazon.com/oProiect Phoenix — Fiama(UY-20372) Al Reports > Empty palProiect Phoenix - Fiama* Project Phoenix - FigmaProject Phoenix - Figma|X Jiminny MCP Connector - ProductM Jiminny MailJY-20500] Batch initial sync for S) Feed - jiminny - Sentry8 JiminnyPipelines - jiminnvlapr.= Formalize(SRD-6793) Les Mills activity type:Search results: calendar I.liminny8 Jiminny7 Jiminnv8 Jiminny≥ Edit - Engineering - Confluence-7 (Jy-189091 [Part21 Automated redSevenShores|Hubspot\ExceptionsAmazon Web Services Sian-Inx+ New TabIAM user sign in ©Account lb or allas (bont have?)jmny• Remember this accountIAM usernamePassworaShow PasswordlHaving trouble?Sign inSian in usina root user emailCreate a new AWS accountBy continuing, you agree to AWS Customer Agreement orother aareement for AWS services, and the Privacy NoticeThis site uses essential cookies. See our Cookie Notice forawsAccess your S3 data as filesAmazon S3 Files delivers a shared filesystem that connects AWS computeresources with S3.Get started with S3 Files →100% C/2 8 Tue 21 Apr 20:01:27Provide feedbackMulti-session disabledEnglish...
|
NULL
|
-8732314425316630110
|
NULL
|
idle
|
ocr
|
NULL
|
rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Win rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Windowmelp• us-east-2.signin.aws.amazon.com/oProiect Phoenix — Fiama(UY-20372) Al Reports > Empty palProiect Phoenix - Fiama* Project Phoenix - FigmaProject Phoenix - Figma|X Jiminny MCP Connector - ProductM Jiminny MailJY-20500] Batch initial sync for S) Feed - jiminny - Sentry8 JiminnyPipelines - jiminnvlapr.= Formalize(SRD-6793) Les Mills activity type:Search results: calendar I.liminny8 Jiminny7 Jiminnv8 Jiminny≥ Edit - Engineering - Confluence-7 (Jy-189091 [Part21 Automated redSevenShores|Hubspot\ExceptionsAmazon Web Services Sian-Inx+ New TabIAM user sign in ©Account lb or allas (bont have?)jmny• Remember this accountIAM usernamePassworaShow PasswordlHaving trouble?Sign inSian in usina root user emailCreate a new AWS accountBy continuing, you agree to AWS Customer Agreement orother aareement for AWS services, and the Privacy NoticeThis site uses essential cookies. See our Cookie Notice forawsAccess your S3 data as filesAmazon S3 Files delivers a shared filesystem that connects AWS computeresources with S3.Get started with S3 Files →100% C/2 8 Tue 21 Apr 20:01:27Provide feedbackMulti-session disabledEnglish...
|
68358
|
|
68361
|
1549
|
3
|
2026-04-21T17:01:30.818168+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776790890818_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Win rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Windowmelp• us-east-2.signin.aws.amazon.com/oProiect Phoenix - Fiama(UY-20372) Al Reports > Empty palProiect Phoenix - Figma* Project Phoenix - FigmaProject Phoenix - Figma|X Jiminny MCP Connector - ProductM Jiminny MailJY-20500] Batch initial sync for S) Feed - jiminny - Sentry8 JiminnyPipelines - jiminnvlapr.= Formalize(SRD-6793) Les Mills activity type:Search results: calendar I.liminny8 Jiminny7 Jiminnv8 Jiminny≥ Edit - Engineering - Confluence-7 (Jy-189091 [Part21 Automated redSevenShores|Hubspot\ExceptionsAmazon Web Services Sian-Inx+ New TabIAM user sign in ©Account lb or allas (bont have?)jmny• Remember this accountIAM usernamePassworaShow PasswordHaving trouble?Sign inSian in usina root user emailCreate a new AWS accountBy continuing, you agree to AWS Customer Agreement orother aareement for AWS services, and the Privacy NoticeThis site uses essential cookies. See our Cookie Notice forawsAccess your S3 data as filesAmazon S3 Files delivers a shared filesystem that connects AWS computeresources with S3.Get started with S3 Files →? 100% L2 ∞ luezlApr 20:01-32Provide feedbackMulti-session disabledEnglish...
|
NULL
|
5584884121120982366
|
NULL
|
click
|
ocr
|
NULL
|
rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Win rireroCaltVIeW•••0¢MistonbookmarksPronlles10019Windowmelp• us-east-2.signin.aws.amazon.com/oProiect Phoenix - Fiama(UY-20372) Al Reports > Empty palProiect Phoenix - Figma* Project Phoenix - FigmaProject Phoenix - Figma|X Jiminny MCP Connector - ProductM Jiminny MailJY-20500] Batch initial sync for S) Feed - jiminny - Sentry8 JiminnyPipelines - jiminnvlapr.= Formalize(SRD-6793) Les Mills activity type:Search results: calendar I.liminny8 Jiminny7 Jiminnv8 Jiminny≥ Edit - Engineering - Confluence-7 (Jy-189091 [Part21 Automated redSevenShores|Hubspot\ExceptionsAmazon Web Services Sian-Inx+ New TabIAM user sign in ©Account lb or allas (bont have?)jmny• Remember this accountIAM usernamePassworaShow PasswordHaving trouble?Sign inSian in usina root user emailCreate a new AWS accountBy continuing, you agree to AWS Customer Agreement orother aareement for AWS services, and the Privacy NoticeThis site uses essential cookies. See our Cookie Notice forawsAccess your S3 data as filesAmazon S3 Files delivers a shared filesystem that connects AWS computeresources with S3.Get started with S3 Files →? 100% L2 ∞ luezlApr 20:01-32Provide feedbackMulti-session disabledEnglish...
|
NULL
|
|
68362
|
1548
|
3
|
2026-04-21T17:01:31.632953+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776790891632_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
1PasswordFileEditViewDOCKER• 881Count: 10Propertie 1PasswordFileEditViewDOCKER• 881Count: 10Properties:hs_deal_stacclosedate:dealstage:-zshEvent:Count: 3creationObject Type: companyEvent: property_chCount: 160Properties:phone: 11 chhubspot_ownecountry: 10name: 11chodomain:11industry: 4Event: associationCount: 10386Event:creationCount: 11Object Type: contactEvent: property_chCount: 298Properties:lastname:12phone:14chjobtitle:16mobilephone:firstname:email: 16 cthubspot_ownecountry: 6associatedcoEvent:associationCount: 10466Event:creationCount: 16AccountsWindow882Help-zshJiminnyProfileAll ItemsFavoritesWatchtowerDeveloperVAULTSEmployeeEngineeringIntegration Accounts2 JiminnyTAGS2FACSV Import 28.01.22•LastPass Import 1.11.21C4Anbare Vit* Build full day ac...ec2-user@ip-10-30-159-186;~• x4|screenpipe"Search in Jiminny8 results for "ama"[EMAIL]@jiminny.comAWS Access KeyAmazon [EMAIL] [EMAIL]@jiminny.onmicrosoft.chttps://www.amazon.co.u..WildWorld2017100% <47Tue 21 Apr 20:01:33O 85-zsh86APP (-zsh)[EMAIL]+ New ItemJiminnyEmployee vShareEditWeak passwordThis password is too easy to guess. Change your password to somethingStronger.Change password on [EMAIL][PASSWORD_DOTS]•Terrible Owebsitehttps://signin.aws.amazon.com/clm?action=changepassword&u:SAVED ON SIGNIN.AWS.AMAZON.COMAWS account438740370364aliasjmny› Last edited Wednesday, October 25, 2023 at 4:02:16 PM...
|
NULL
|
-5122584775320191827
|
NULL
|
visual_change
|
ocr
|
NULL
|
1PasswordFileEditViewDOCKER• 881Count: 10Propertie 1PasswordFileEditViewDOCKER• 881Count: 10Properties:hs_deal_stacclosedate:dealstage:-zshEvent:Count: 3creationObject Type: companyEvent: property_chCount: 160Properties:phone: 11 chhubspot_ownecountry: 10name: 11chodomain:11industry: 4Event: associationCount: 10386Event:creationCount: 11Object Type: contactEvent: property_chCount: 298Properties:lastname:12phone:14chjobtitle:16mobilephone:firstname:email: 16 cthubspot_ownecountry: 6associatedcoEvent:associationCount: 10466Event:creationCount: 16AccountsWindow882Help-zshJiminnyProfileAll ItemsFavoritesWatchtowerDeveloperVAULTSEmployeeEngineeringIntegration Accounts2 JiminnyTAGS2FACSV Import 28.01.22•LastPass Import 1.11.21C4Anbare Vit* Build full day ac...ec2-user@ip-10-30-159-186;~• x4|screenpipe"Search in Jiminny8 results for "ama"[EMAIL]@jiminny.comAWS Access KeyAmazon [EMAIL] [EMAIL]@jiminny.onmicrosoft.chttps://www.amazon.co.u..WildWorld2017100% <47Tue 21 Apr 20:01:33O 85-zsh86APP (-zsh)[EMAIL]+ New ItemJiminnyEmployee vShareEditWeak passwordThis password is too easy to guess. Change your password to somethingStronger.Change password on [EMAIL][PASSWORD_DOTS]•Terrible Owebsitehttps://signin.aws.amazon.com/clm?action=changepassword&u:SAVED ON SIGNIN.AWS.AMAZON.COMAWS account438740370364aliasjmny› Last edited Wednesday, October 25, 2023 at 4:02:16 PM...
|
NULL
|
|
68363
|
1548
|
4
|
2026-04-21T17:01:34.602606+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776790894602_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
1PasswordFileEditViewDOCKER• 881Count: 10Propertie 1PasswordFileEditViewDOCKER• 881Count: 10Properties:hs_deal_stacclosedate:dealstage:-zshEvent:Count: 3creationObject Type: companyEvent: property_chCount: 160Properties:phone: 11 chhubspot_ownecountry: 10name: 11chodomain:11industry: 4Event: associationCount: 10386Event:creationCount: 11Object Type: contactEvent: property_chCount: 298Properties:lastname:12phone:14chjobtitle:16mobilephone:firstname:email: 16 cthubspot_ownecountry: 6associatedcoEvent:associationCount: 10466Event:creationCount: 16AccountsWindow882Help-zshJiminnyProfileAll ItemsFavoritesWatchtowerDeveloperVAULTSEmployeeEngineeringIntegration Accounts2 JiminnyTAGS2FACSV Import 28.01.22•LastPass Import 1.11.21C4Anbare Vit* Build full day ac...ec2-user@ip-10-30-159-186:~• x4|screenpipe"+Search in Jiminny8 results for "ama"[EMAIL]@jiminny.comAWS Access KeyAmazon [EMAIL] [EMAIL]• [EMAIL]://www.amazon.co.u..WildWorld2017100% <Tue 21 Apr 20:01:35-zsh86APP (-zsh)[EMAIL]+ New ItemJiminnyEmployee vShareEditWeak passwordThis password is too easy to guess. Change your password to somethingStronger.Change password on [EMAIL][PASSWORD_DOTS]•Terrible Owebsitehttps://signin.aws.amazon.com/clm?action=changepassword&u:SAVED ON SIGNIN.AWS.AMAZON.COMAWS account438740370364aliasjmny> Last edited Wednesday, October 25, 2023 at 4:02:16 PMCopied username...
|
NULL
|
-136010999707576859
|
NULL
|
click
|
ocr
|
NULL
|
1PasswordFileEditViewDOCKER• 881Count: 10Propertie 1PasswordFileEditViewDOCKER• 881Count: 10Properties:hs_deal_stacclosedate:dealstage:-zshEvent:Count: 3creationObject Type: companyEvent: property_chCount: 160Properties:phone: 11 chhubspot_ownecountry: 10name: 11chodomain:11industry: 4Event: associationCount: 10386Event:creationCount: 11Object Type: contactEvent: property_chCount: 298Properties:lastname:12phone:14chjobtitle:16mobilephone:firstname:email: 16 cthubspot_ownecountry: 6associatedcoEvent:associationCount: 10466Event:creationCount: 16AccountsWindow882Help-zshJiminnyProfileAll ItemsFavoritesWatchtowerDeveloperVAULTSEmployeeEngineeringIntegration Accounts2 JiminnyTAGS2FACSV Import 28.01.22•LastPass Import 1.11.21C4Anbare Vit* Build full day ac...ec2-user@ip-10-30-159-186:~• x4|screenpipe"+Search in Jiminny8 results for "ama"[EMAIL]@jiminny.comAWS Access KeyAmazon [EMAIL] [EMAIL]• [EMAIL]://www.amazon.co.u..WildWorld2017100% <Tue 21 Apr 20:01:35-zsh86APP (-zsh)[EMAIL]+ New ItemJiminnyEmployee vShareEditWeak passwordThis password is too easy to guess. Change your password to somethingStronger.Change password on [EMAIL][PASSWORD_DOTS]•Terrible Owebsitehttps://signin.aws.amazon.com/clm?action=changepassword&u:SAVED ON SIGNIN.AWS.AMAZON.COMAWS account438740370364aliasjmny> Last edited Wednesday, October 25, 2023 at 4:02:16 PMCopied username...
|
68362
|
|
68365
|
1548
|
5
|
2026-04-21T17:01:39.288925+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776790899288_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
1PasswordFileEditViewDOCKER• 881Count: 10Propertie 1PasswordFileEditViewDOCKER• 881Count: 10Properties:hs_deal_stacclosedate:dealstage:-zshEvent:Count: 3creationObject Type: companyEvent: property_chCount: 160Properties:phone: 11 chhubspot_ownecountry: 10name: 11chodomain:11industry: 4Event: associationCount: 10386Event:creationCount: 11Object Type: contactEvent: property_chCount: 298Properties:lastname:12phone:14chjobtitle:16mobilephone:firstname:email: 16 cthubspot_ownecountry: 6associatedcoEvent:associationCount: 10466Event:creationCount: 16AccountsWindow882Help-zshJiminnyProfileAll ItemsFavoritesWatchtowerDeveloperVAULTSEmployeeEngineeringIntegration Accounts2 JiminnyTAGS2FACSV Import 28.01.22•LastPass Import 1.11.21C4Anbare Vit* Build full day ac...ec2-user@ip-10-30-159-186:~• x4|screenpipe"+Search in Jiminny8 results for "ama"[EMAIL]@jiminny.comAWS Access KeyAmazon [EMAIL] [EMAIL]@jiminny.onmicrosoft.c.https://www.amazon.co.u..WildWorld2017100% <47Tue 21 Apr 20:01:42• 885-zsh86APP (-zsh)[EMAIL]+ New ItemJiminnyEmployee vShareEditWeak passwordThis password is too easy to guess. Change your password to somethingStronger.Change password on [EMAIL][PASSWORD_DOTS]•Terrible Owebsitehttps://signin.aws.amazon.com/clm?action=changepassword&u:SAVED ON SIGNIN.AWS.AMAZON.COMAWS account438740370364aliasjmny› Last edited Wednesday, October 25, 2023 at 4:02:16 PMCopied password...
|
NULL
|
9181698889781808441
|
NULL
|
visual_change
|
ocr
|
NULL
|
1PasswordFileEditViewDOCKER• 881Count: 10Propertie 1PasswordFileEditViewDOCKER• 881Count: 10Properties:hs_deal_stacclosedate:dealstage:-zshEvent:Count: 3creationObject Type: companyEvent: property_chCount: 160Properties:phone: 11 chhubspot_ownecountry: 10name: 11chodomain:11industry: 4Event: associationCount: 10386Event:creationCount: 11Object Type: contactEvent: property_chCount: 298Properties:lastname:12phone:14chjobtitle:16mobilephone:firstname:email: 16 cthubspot_ownecountry: 6associatedcoEvent:associationCount: 10466Event:creationCount: 16AccountsWindow882Help-zshJiminnyProfileAll ItemsFavoritesWatchtowerDeveloperVAULTSEmployeeEngineeringIntegration Accounts2 JiminnyTAGS2FACSV Import 28.01.22•LastPass Import 1.11.21C4Anbare Vit* Build full day ac...ec2-user@ip-10-30-159-186:~• x4|screenpipe"+Search in Jiminny8 results for "ama"[EMAIL]@jiminny.comAWS Access KeyAmazon [EMAIL] [EMAIL]@jiminny.onmicrosoft.c.https://www.amazon.co.u..WildWorld2017100% <47Tue 21 Apr 20:01:42• 885-zsh86APP (-zsh)[EMAIL]+ New ItemJiminnyEmployee vShareEditWeak passwordThis password is too easy to guess. Change your password to somethingStronger.Change password on [EMAIL][PASSWORD_DOTS]•Terrible Owebsitehttps://signin.aws.amazon.com/clm?action=changepassword&u:SAVED ON SIGNIN.AWS.AMAZON.COMAWS account438740370364aliasjmny› Last edited Wednesday, October 25, 2023 at 4:02:16 PMCopied password...
|
NULL
|
|
68374
|
1549
|
10
|
2026-04-21T17:02:04.212+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776790924212_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
rireroxCaltVIewMIstorybookmarksProtlles10019Window rireroxCaltVIewMIstorybookmarksProtlles10019Windowmelp•000|us-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#logsV2:logs-insights$3FqueryDetail$3D~(end~O~start~-3600~timeType~'RELATIVE~tz~'UTaws,• Search[Option+S]Proiect Phoenix - FiamaOEC2 Elastic Container Service S3 CodeDeploy CloudWatch ElastiCache Aurora and RDS Amazon OpenSearch Ser..CloudFrontMediaLive4 [JY-20372] Al Reports > Empty paProiect Phoenix - Fiama* Project Phoenix - FigmaProject Phoenix - Figma|X Jiminny MCP Connector - Productliminny MaitJY-20500] Batch initial sync for SFeed - jiminny - Sentry8 Jiminny0) Pipelines - liminnylapr= Formalize(SRD-6793] Les Mills activity type9Search results: calendar I.liminny8 Jiminny7 Jiminnv8 Jiminny≥ Edit - Engineering - Confluence(JY-189091 (Part21 Automated rerSevenShores|Hubspot\ExceptionsCloudWatch I us-east-2+ New TabJiminny2 Profile• AllItemsFavoritesWatchtower<|> Developer• VAUITS@ Emploveea Engineering€ Intearation Accounts8 JiminnyV TAGS• 25A1•• CSV Imnort 28.01.22• LastPass Import 111.21E CloudShellFeedbackE Console Mobile App• Search in Jiminny8 results for "ama"x EQ [EMAIL]-user-tivesAmazonAWS Access KeyAmazon ConnectAmazon ConnectMicrosoftonlineiinny.onmicrosort.c.https://www.amazon.co.u.100% Slue z1Ao 20:02-0110:20:2fYYYXY:2f:20+0a:7ce20filtor$20÷10Account ID: 4387-4037-03647United States (Ohio)[EMAIL]+ New Item8 Jiminny Emplovee v" ShareEditWeak passwordThis password is too easy to quess. change vour password to somethingstronger.Change password on [EMAIL]"ddddoeTerrible Cweositlsianin.aws.amazon.com/clm?action=chandepassword&usSAVED ON SIGNIN.AWS.AMAZON.COM438740370364mnv> Last edited Wednesday, October 25, 2023 at 4:02:16 PM@ 2026. Amazon Weh Services. Inc. or its affiliatesPrivacy TermsCookie nreferences...
|
NULL
|
-1833382035187602439
|
NULL
|
visual_change
|
ocr
|
NULL
|
rireroxCaltVIewMIstorybookmarksProtlles10019Window rireroxCaltVIewMIstorybookmarksProtlles10019Windowmelp•000|us-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#logsV2:logs-insights$3FqueryDetail$3D~(end~O~start~-3600~timeType~'RELATIVE~tz~'UTaws,• Search[Option+S]Proiect Phoenix - FiamaOEC2 Elastic Container Service S3 CodeDeploy CloudWatch ElastiCache Aurora and RDS Amazon OpenSearch Ser..CloudFrontMediaLive4 [JY-20372] Al Reports > Empty paProiect Phoenix - Fiama* Project Phoenix - FigmaProject Phoenix - Figma|X Jiminny MCP Connector - Productliminny MaitJY-20500] Batch initial sync for SFeed - jiminny - Sentry8 Jiminny0) Pipelines - liminnylapr= Formalize(SRD-6793] Les Mills activity type9Search results: calendar I.liminny8 Jiminny7 Jiminnv8 Jiminny≥ Edit - Engineering - Confluence(JY-189091 (Part21 Automated rerSevenShores|Hubspot\ExceptionsCloudWatch I us-east-2+ New TabJiminny2 Profile• AllItemsFavoritesWatchtower<|> Developer• VAUITS@ Emploveea Engineering€ Intearation Accounts8 JiminnyV TAGS• 25A1•• CSV Imnort 28.01.22• LastPass Import 111.21E CloudShellFeedbackE Console Mobile App• Search in Jiminny8 results for "ama"x EQ [EMAIL]-user-tivesAmazonAWS Access KeyAmazon ConnectAmazon ConnectMicrosoftonlineiinny.onmicrosort.c.https://www.amazon.co.u.100% Slue z1Ao 20:02-0110:20:2fYYYXY:2f:20+0a:7ce20filtor$20÷10Account ID: 4387-4037-03647United States (Ohio)[EMAIL]+ New Item8 Jiminny Emplovee v" ShareEditWeak passwordThis password is too easy to quess. change vour password to somethingstronger.Change password on [EMAIL]"ddddoeTerrible Cweositlsianin.aws.amazon.com/clm?action=chandepassword&usSAVED ON SIGNIN.AWS.AMAZON.COM438740370364mnv> Last edited Wednesday, October 25, 2023 at 4:02:16 PM@ 2026. Amazon Weh Services. Inc. or its affiliatesPrivacy TermsCookie nreferences...
|
68373
|
|
68465
|
1550
|
27
|
2026-04-21T17:18:06.556674+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776791886556_m1.jpg...
|
iTerm2
|
ec2-user@ip-10-30-159-186:~
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue Apr 21 10:12:07 on ttys014
^[[A
Po Last login: Tue Apr 21 10:12:07 on ttys014
^[[A
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ vprod
Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:
Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.
A newer release of "Amazon Linux" is available.
Version 2023.10.20260105:
Version 2023.10.20260120:
Version 2023.10.20260202:
Version 2023.10.20260216:
Version 2023.10.20260302:
Version 2023.10.20260325:
Version 2023.10.20260330:
Version 2023.11.20260406:
Version 2023.11.20260413:
Version 2023.8.20250707:
Version 2023.8.20250715:
Version 2023.8.20250721:
Version 2023.8.20250808:
Version 2023.8.20250818:
Version 2023.8.20250908:
Version 2023.8.20250915:
Version 2023.9.20250929:
Version 2023.9.20251014:
Version 2023.9.20251020:
Version 2023.9.20251027:
Version 2023.9.20251105:
Version 2023.9.20251110:
Version 2023.9.20251117:
Version 2023.9.20251208:
Run "/usr/bin/dnf check-release-update" for full release and version update info
, #_
~\_ ####_
~~ \_#####\
~~ \###|
~~ \#/ ___ Amazon Linux 2023 (ECS Optimized)
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
For documentation, visit [URL_WITH_CREDENTIALS] ~]$ docker exec -it $(docker ps --format "{{.ID}}" --filter "name=ecs-worker" | head -1) /bin/bash -c "cd /home/jiminny && bash"
root@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook redis --key-type ids --detailed -C 537
INFO Scanning Redis keys for config 537 (type: ids).
Total keys found [PASSWORD_DOTS] 0
📊 Memory Overview
Total Memory [PASSWORD_DOTS] 0 B
root@ea573642400f:/home/jiminny# php artisan about
Environment [PASSWORD_DOTS]
Application Name [PASSWORD_DOTS] Jiminny Web App
Laravel Version [PASSWORD_DOTS] 12.54.1
PHP Version [PASSWORD_DOTS] 8.3.30
Composer Version [PASSWORD_DOTS] -
Environment [PASSWORD_DOTS] production
Debug Mode [PASSWORD_DOTS] OFF
URL [PASSWORD_DOTS] app.jiminny.com
Maintenance Mode [PASSWORD_DOTS] OFF
Timezone [PASSWORD_DOTS] UTC
Locale [PASSWORD_DOTS] en_US
Cache [PASSWORD_DOTS]
Config [PASSWORD_DOTS] CACHED
Events [PASSWORD_DOTS] NOT CACHED
Routes [PASSWORD_DOTS] CACHED
Views [PASSWORD_DOTS] CACHED
Drivers [PASSWORD_DOTS]
Broadcasting [PASSWORD_DOTS] pusher
Cache [PASSWORD_DOTS] redis
Database [PASSWORD_DOTS] mysql
Logs [PASSWORD_DOTS] errorlog
Mail [PASSWORD_DOTS] ses
Queue [PASSWORD_DOTS] sqs
Session [PASSWORD_DOTS] redis
Storage [PASSWORD_DOTS]
public/storage [PASSWORD_DOTS] NOT LINKED
Sentry [PASSWORD_DOTS]
Enabled [PASSWORD_DOTS] YES
Environment [PASSWORD_DOTS] production
Laravel SDK Version [PASSWORD_DOTS] 4.13.0
PHP SDK Version [PASSWORD_DOTS] 4.13.0
Release [PASSWORD_DOTS] 874599
Sample Rate Errors [PASSWORD_DOTS] 100%
Sample Rate Performance Monitoring [PASSWORD_DOTS] NOT SET
Sample Rate Profiling [PASSWORD_DOTS] NOT SET
Send Default PII [PASSWORD_DOTS] DISABLED
root@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook metrics -C 537 -D
INFO Webhook Metrics — 2026-04-21.
INFO Looking for metrics: Config 537 (Mobiz - 563), Date 2026-04-21.
📊 Webhook Metrics for Config 537 (Mobiz - 563)
==========================================
Date: 2026-04-21
📦 Object Type: deal
🔔 Event: association_change
Count: 92
🔔 Event: property_change
Count: 10
Properties:
📝 hs_deal_stage_probability: 5 changes
📝 closedate: 3 changes
📝 dealstage: 2 changes
🔔 Event: creation
Count: 3
📦 Object Type: company
🔔 Event: property_change
Count: 160
Properties:
📝 phone: 11 changes
📝 hubspot_owner_id: 113 changes
📝 country: 10 changes
📝 name: 11 changes
📝 domain: 11 changes
📝 industry: 4 changes
🔔 Event: association_change
Count: 10386
🔔 Event: creation
Count: 11
📦 Object Type: contact
🔔 Event: property_change
Count: 298
Properties:
📝 lastname: 12 changes
📝 phone: 14 changes
📝 jobtitle: 10 changes
📝 mobilephone: 9 changes
📝 firstname: 18 changes
📝 email: 16 changes
📝 hubspot_owner_id: 204 changes
📝 country: 6 changes
📝 associatedcompanyid: 9 changes
🔔 Event: association_change
Count: 10466
🔔 Event: creation
Count: 16
root@ea573642400f:/home/jiminny# exit
exit
[ec2-user@ip-10-30-159-186 ~]$ exit
logout
Connection to jiminny-prod-ecs1 closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
ec2-user@ip-10-30-159-186:~...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue Apr 21 10:12:07 on ttys014\n^[[A\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ vprod\nEnter MFA code for arn:aws:iam::438740370364:mfa/lukas.kovalik@jiminny.com: \nWarning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.\n\nA newer release of \"Amazon Linux\" is available.\n Version 2023.10.20260105:\n Version 2023.10.20260120:\n Version 2023.10.20260202:\n Version 2023.10.20260216:\n Version 2023.10.20260302:\n Version 2023.10.20260325:\n Version 2023.10.20260330:\n Version 2023.11.20260406:\n Version 2023.11.20260413:\n Version 2023.8.20250707:\n Version 2023.8.20250715:\n Version 2023.8.20250721:\n Version 2023.8.20250808:\n Version 2023.8.20250818:\n Version 2023.8.20250908:\n Version 2023.8.20250915:\n Version 2023.9.20250929:\n Version 2023.9.20251014:\n Version 2023.9.20251020:\n Version 2023.9.20251027:\n Version 2023.9.20251105:\n Version 2023.9.20251110:\n Version 2023.9.20251117:\n Version 2023.9.20251208:\nRun \"/usr/bin/dnf check-release-update\" for full release and version update info\n , #_\n ~\\_ ####_\n ~~ \\_#####\\\n ~~ \\###|\n ~~ \\#/ ___ Amazon Linux 2023 (ECS Optimized)\n ~~ V~' '->\n ~~~ /\n ~~._. _/\n _/ _/\n _/m/'\n\nFor documentation, visit http://aws.amazon.com/documentation/ecs\nLast login: Tue Apr 21 13:40:53 2026 from 10.30.45.167\n[ec2-user@ip-10-30-159-186 ~]$ docker exec -it $(docker ps --format \"{{.ID}}\" --filter \"name=ecs-worker\" | head -1) /bin/bash -c \"cd /home/jiminny && bash\"\nroot@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook redis --key-type ids --detailed -C 537\n\n INFO Scanning Redis keys for config 537 (type: ids). \n\n\n Total keys found ............................................................................................................................... 0 \n\n📊\u0000 Memory Overview\n Total Memory ................................................................................................................................. 0 B \n\nroot@ea573642400f:/home/jiminny# php artisan about \n\n Environment ...................................................................................................................................... \n Application Name ................................................................................................................. Jiminny Web App \n Laravel Version .......................................................................................................................... 12.54.1 \n PHP Version ............................................................................................................................... 8.3.30 \n Composer Version ............................................................................................................................... - \n Environment ........................................................................................................................... production \n Debug Mode ................................................................................................................................... OFF \n URL .............................................................................................................................. app.jiminny.com \n Maintenance Mode ............................................................................................................................. OFF \n Timezone ..................................................................................................................................... UTC \n Locale ..................................................................................................................................... en_US \n\n Cache ............................................................................................................................................ \n Config .................................................................................................................................... CACHED \n Events ................................................................................................................................ NOT CACHED \n Routes .................................................................................................................................... CACHED \n Views ..................................................................................................................................... CACHED \n\n Drivers .......................................................................................................................................... \n Broadcasting .............................................................................................................................. pusher \n Cache ...................................................................................................................................... redis \n Database ................................................................................................................................... mysql \n Logs .................................................................................................................................... errorlog \n Mail ......................................................................................................................................... ses \n Queue ........................................................................................................................................ sqs \n Session .................................................................................................................................... redis \n\n Storage .......................................................................................................................................... \n public/storage ........................................................................................................................ NOT LINKED \n\n Sentry ........................................................................................................................................... \n Enabled ...................................................................................................................................... YES \n Environment ........................................................................................................................... production \n Laravel SDK Version ....................................................................................................................... 4.13.0 \n PHP SDK Version ........................................................................................................................... 4.13.0 \n Release ................................................................................................................................... 874599 \n Sample Rate Errors .......................................................................................................................... 100% \n Sample Rate Performance Monitoring ....................................................................................................... NOT SET \n Sample Rate Profiling .................................................................................................................... NOT SET \n Send Default PII ........................................................................................................................ DISABLED \n\nroot@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook metrics -C 537 -D\n\n INFO Webhook Metrics — 2026-04-21. \n\n INFO Looking for metrics: Config 537 (Mobiz - 563), Date 2026-04-21. \n\n📊\u0000 Webhook Metrics for Config 537 (Mobiz - 563)\n==========================================\nDate: 2026-04-21\n\n 📦\u0000 Object Type: deal\n 🔔\u0000 Event: association_change\n Count: 92\n\n 🔔\u0000 Event: property_change\n Count: 10\n Properties:\n 📝\u0000 hs_deal_stage_probability: 5 changes\n 📝\u0000 closedate: 3 changes\n 📝\u0000 dealstage: 2 changes\n\n 🔔\u0000 Event: creation\n Count: 3\n\n 📦\u0000 Object Type: company\n 🔔\u0000 Event: property_change\n Count: 160\n Properties:\n 📝\u0000 phone: 11 changes\n 📝\u0000 hubspot_owner_id: 113 changes\n 📝\u0000 country: 10 changes\n 📝\u0000 name: 11 changes\n 📝\u0000 domain: 11 changes\n 📝\u0000 industry: 4 changes\n\n 🔔\u0000 Event: association_change\n Count: 10386\n\n 🔔\u0000 Event: creation\n Count: 11\n\n 📦\u0000 Object Type: contact\n 🔔\u0000 Event: property_change\n Count: 298\n Properties:\n 📝\u0000 lastname: 12 changes\n 📝\u0000 phone: 14 changes\n 📝\u0000 jobtitle: 10 changes\n 📝\u0000 mobilephone: 9 changes\n 📝\u0000 firstname: 18 changes\n 📝\u0000 email: 16 changes\n 📝\u0000 hubspot_owner_id: 204 changes\n 📝\u0000 country: 6 changes\n 📝\u0000 associatedcompanyid: 9 changes\n\n 🔔\u0000 Event: association_change\n Count: 10466\n\n 🔔\u0000 Event: creation\n Count: 16\n\nroot@ea573642400f:/home/jiminny# exit\nexit\n[ec2-user@ip-10-30-159-186 ~]$ exit\nlogout\nConnection to jiminny-prod-ecs1 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"Last login: Tue Apr 21 10:12:07 on ttys014\n^[[A\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ vprod\nEnter MFA code for arn:aws:iam::438740370364:mfa/lukas.kovalik@jiminny.com: \nWarning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.\n\nA newer release of \"Amazon Linux\" is available.\n Version 2023.10.20260105:\n Version 2023.10.20260120:\n Version 2023.10.20260202:\n Version 2023.10.20260216:\n Version 2023.10.20260302:\n Version 2023.10.20260325:\n Version 2023.10.20260330:\n Version 2023.11.20260406:\n Version 2023.11.20260413:\n Version 2023.8.20250707:\n Version 2023.8.20250715:\n Version 2023.8.20250721:\n Version 2023.8.20250808:\n Version 2023.8.20250818:\n Version 2023.8.20250908:\n Version 2023.8.20250915:\n Version 2023.9.20250929:\n Version 2023.9.20251014:\n Version 2023.9.20251020:\n Version 2023.9.20251027:\n Version 2023.9.20251105:\n Version 2023.9.20251110:\n Version 2023.9.20251117:\n Version 2023.9.20251208:\nRun \"/usr/bin/dnf check-release-update\" for full release and version update info\n , #_\n ~\\_ ####_\n ~~ \\_#####\\\n ~~ \\###|\n ~~ \\#/ ___ Amazon Linux 2023 (ECS Optimized)\n ~~ V~' '->\n ~~~ /\n ~~._. _/\n _/ _/\n _/m/'\n\nFor documentation, visit http://aws.amazon.com/documentation/ecs\nLast login: Tue Apr 21 13:40:53 2026 from 10.30.45.167\n[ec2-user@ip-10-30-159-186 ~]$ docker exec -it $(docker ps --format \"{{.ID}}\" --filter \"name=ecs-worker\" | head -1) /bin/bash -c \"cd /home/jiminny && bash\"\nroot@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook redis --key-type ids --detailed -C 537\n\n INFO Scanning Redis keys for config 537 (type: ids). \n\n\n Total keys found ............................................................................................................................... 0 \n\n📊\u0000 Memory Overview\n Total Memory ................................................................................................................................. 0 B \n\nroot@ea573642400f:/home/jiminny# php artisan about \n\n Environment ...................................................................................................................................... \n Application Name ................................................................................................................. Jiminny Web App \n Laravel Version .......................................................................................................................... 12.54.1 \n PHP Version ............................................................................................................................... 8.3.30 \n Composer Version ............................................................................................................................... - \n Environment ........................................................................................................................... production \n Debug Mode ................................................................................................................................... OFF \n URL .............................................................................................................................. app.jiminny.com \n Maintenance Mode ............................................................................................................................. OFF \n Timezone ..................................................................................................................................... UTC \n Locale ..................................................................................................................................... en_US \n\n Cache ............................................................................................................................................ \n Config .................................................................................................................................... CACHED \n Events ................................................................................................................................ NOT CACHED \n Routes .................................................................................................................................... CACHED \n Views ..................................................................................................................................... CACHED \n\n Drivers .......................................................................................................................................... \n Broadcasting .............................................................................................................................. pusher \n Cache ...................................................................................................................................... redis \n Database ................................................................................................................................... mysql \n Logs .................................................................................................................................... errorlog \n Mail ......................................................................................................................................... ses \n Queue ........................................................................................................................................ sqs \n Session .................................................................................................................................... redis \n\n Storage .......................................................................................................................................... \n public/storage ........................................................................................................................ NOT LINKED \n\n Sentry ........................................................................................................................................... \n Enabled ...................................................................................................................................... YES \n Environment ........................................................................................................................... production \n Laravel SDK Version ....................................................................................................................... 4.13.0 \n PHP SDK Version ........................................................................................................................... 4.13.0 \n Release ................................................................................................................................... 874599 \n Sample Rate Errors .......................................................................................................................... 100% \n Sample Rate Performance Monitoring ....................................................................................................... NOT SET \n Sample Rate Profiling .................................................................................................................... NOT SET \n Send Default PII ........................................................................................................................ DISABLED \n\nroot@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook metrics -C 537 -D\n\n INFO Webhook Metrics — 2026-04-21. \n\n INFO Looking for metrics: Config 537 (Mobiz - 563), Date 2026-04-21. \n\n📊\u0000 Webhook Metrics for Config 537 (Mobiz - 563)\n==========================================\nDate: 2026-04-21\n\n 📦\u0000 Object Type: deal\n 🔔\u0000 Event: association_change\n Count: 92\n\n 🔔\u0000 Event: property_change\n Count: 10\n Properties:\n 📝\u0000 hs_deal_stage_probability: 5 changes\n 📝\u0000 closedate: 3 changes\n 📝\u0000 dealstage: 2 changes\n\n 🔔\u0000 Event: creation\n Count: 3\n\n 📦\u0000 Object Type: company\n 🔔\u0000 Event: property_change\n Count: 160\n Properties:\n 📝\u0000 phone: 11 changes\n 📝\u0000 hubspot_owner_id: 113 changes\n 📝\u0000 country: 10 changes\n 📝\u0000 name: 11 changes\n 📝\u0000 domain: 11 changes\n 📝\u0000 industry: 4 changes\n\n 🔔\u0000 Event: association_change\n Count: 10386\n\n 🔔\u0000 Event: creation\n Count: 11\n\n 📦\u0000 Object Type: contact\n 🔔\u0000 Event: property_change\n Count: 298\n Properties:\n 📝\u0000 lastname: 12 changes\n 📝\u0000 phone: 14 changes\n 📝\u0000 jobtitle: 10 changes\n 📝\u0000 mobilephone: 9 changes\n 📝\u0000 firstname: 18 changes\n 📝\u0000 email: 16 changes\n 📝\u0000 hubspot_owner_id: 204 changes\n 📝\u0000 country: 6 changes\n 📝\u0000 associatedcompanyid: 9 changes\n\n 🔔\u0000 Event: association_change\n Count: 10466\n\n 🔔\u0000 Event: creation\n Count: 16\n\nroot@ea573642400f:/home/jiminny# exit\nexit\n[ec2-user@ip-10-30-159-186 ~]$ exit\nlogout\nConnection to jiminny-prod-ecs1 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (node)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"ec2-user@ip-10-30-159-186:~","depth":1,"bounds":{"left":0.42847222,"top":0.033333335,"width":0.14305556,"height":0.017777778},"role_description":"text"}]...
|
-603545725813895469
|
-6232323079218140845
|
click
|
accessibility
|
NULL
|
Last login: Tue Apr 21 10:12:07 on ttys014
^[[A
Po Last login: Tue Apr 21 10:12:07 on ttys014
^[[A
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ vprod
Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:
Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.
A newer release of "Amazon Linux" is available.
Version 2023.10.20260105:
Version 2023.10.20260120:
Version 2023.10.20260202:
Version 2023.10.20260216:
Version 2023.10.20260302:
Version 2023.10.20260325:
Version 2023.10.20260330:
Version 2023.11.20260406:
Version 2023.11.20260413:
Version 2023.8.20250707:
Version 2023.8.20250715:
Version 2023.8.20250721:
Version 2023.8.20250808:
Version 2023.8.20250818:
Version 2023.8.20250908:
Version 2023.8.20250915:
Version 2023.9.20250929:
Version 2023.9.20251014:
Version 2023.9.20251020:
Version 2023.9.20251027:
Version 2023.9.20251105:
Version 2023.9.20251110:
Version 2023.9.20251117:
Version 2023.9.20251208:
Run "/usr/bin/dnf check-release-update" for full release and version update info
, #_
~\_ ####_
~~ \_#####\
~~ \###|
~~ \#/ ___ Amazon Linux 2023 (ECS Optimized)
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
For documentation, visit [URL_WITH_CREDENTIALS] ~]$ docker exec -it $(docker ps --format "{{.ID}}" --filter "name=ecs-worker" | head -1) /bin/bash -c "cd /home/jiminny && bash"
root@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook redis --key-type ids --detailed -C 537
INFO Scanning Redis keys for config 537 (type: ids).
Total keys found [PASSWORD_DOTS] 0
📊 Memory Overview
Total Memory [PASSWORD_DOTS] 0 B
root@ea573642400f:/home/jiminny# php artisan about
Environment [PASSWORD_DOTS]
Application Name [PASSWORD_DOTS] Jiminny Web App
Laravel Version [PASSWORD_DOTS] 12.54.1
PHP Version [PASSWORD_DOTS] 8.3.30
Composer Version [PASSWORD_DOTS] -
Environment [PASSWORD_DOTS] production
Debug Mode [PASSWORD_DOTS] OFF
URL [PASSWORD_DOTS] app.jiminny.com
Maintenance Mode [PASSWORD_DOTS] OFF
Timezone [PASSWORD_DOTS] UTC
Locale [PASSWORD_DOTS] en_US
Cache [PASSWORD_DOTS]
Config [PASSWORD_DOTS] CACHED
Events [PASSWORD_DOTS] NOT CACHED
Routes [PASSWORD_DOTS] CACHED
Views [PASSWORD_DOTS] CACHED
Drivers [PASSWORD_DOTS]
Broadcasting [PASSWORD_DOTS] pusher
Cache [PASSWORD_DOTS] redis
Database [PASSWORD_DOTS] mysql
Logs [PASSWORD_DOTS] errorlog
Mail [PASSWORD_DOTS] ses
Queue [PASSWORD_DOTS] sqs
Session [PASSWORD_DOTS] redis
Storage [PASSWORD_DOTS]
public/storage [PASSWORD_DOTS] NOT LINKED
Sentry [PASSWORD_DOTS]
Enabled [PASSWORD_DOTS] YES
Environment [PASSWORD_DOTS] production
Laravel SDK Version [PASSWORD_DOTS] 4.13.0
PHP SDK Version [PASSWORD_DOTS] 4.13.0
Release [PASSWORD_DOTS] 874599
Sample Rate Errors [PASSWORD_DOTS] 100%
Sample Rate Performance Monitoring [PASSWORD_DOTS] NOT SET
Sample Rate Profiling [PASSWORD_DOTS] NOT SET
Send Default PII [PASSWORD_DOTS] DISABLED
root@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook metrics -C 537 -D
INFO Webhook Metrics — 2026-04-21.
INFO Looking for metrics: Config 537 (Mobiz - 563), Date 2026-04-21.
📊 Webhook Metrics for Config 537 (Mobiz - 563)
==========================================
Date: 2026-04-21
📦 Object Type: deal
🔔 Event: association_change
Count: 92
🔔 Event: property_change
Count: 10
Properties:
📝 hs_deal_stage_probability: 5 changes
📝 closedate: 3 changes
📝 dealstage: 2 changes
🔔 Event: creation
Count: 3
📦 Object Type: company
🔔 Event: property_change
Count: 160
Properties:
📝 phone: 11 changes
📝 hubspot_owner_id: 113 changes
📝 country: 10 changes
📝 name: 11 changes
📝 domain: 11 changes
📝 industry: 4 changes
🔔 Event: association_change
Count: 10386
🔔 Event: creation
Count: 11
📦 Object Type: contact
🔔 Event: property_change
Count: 298
Properties:
📝 lastname: 12 changes
📝 phone: 14 changes
📝 jobtitle: 10 changes
📝 mobilephone: 9 changes
📝 firstname: 18 changes
📝 email: 16 changes
📝 hubspot_owner_id: 204 changes
📝 country: 6 changes
📝 associatedcompanyid: 9 changes
🔔 Event: association_change
Count: 10466
🔔 Event: creation
Count: 16
root@ea573642400f:/home/jiminny# exit
exit
[ec2-user@ip-10-30-159-186 ~]$ exit
logout
Connection to jiminny-prod-ecs1 closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
ec2-user@ip-10-30-159-186:~...
|
68464
|
|
68466
|
1551
|
27
|
2026-04-21T17:18:07.551795+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776791887551_m2.jpg...
|
iTerm2
|
ec2-user@ip-10-30-159-186:~
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue Apr 21 10:12:07 on ttys014
^[[A
Po Last login: Tue Apr 21 10:12:07 on ttys014
^[[A
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ vprod
Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:
Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.
A newer release of "Amazon Linux" is available.
Version 2023.10.20260105:
Version 2023.10.20260120:
Version 2023.10.20260202:
Version 2023.10.20260216:
Version 2023.10.20260302:
Version 2023.10.20260325:
Version 2023.10.20260330:
Version 2023.11.20260406:
Version 2023.11.20260413:
Version 2023.8.20250707:
Version 2023.8.20250715:
Version 2023.8.20250721:
Version 2023.8.20250808:
Version 2023.8.20250818:
Version 2023.8.20250908:
Version 2023.8.20250915:
Version 2023.9.20250929:
Version 2023.9.20251014:
Version 2023.9.20251020:
Version 2023.9.20251027:
Version 2023.9.20251105:
Version 2023.9.20251110:
Version 2023.9.20251117:
Version 2023.9.20251208:
Run "/usr/bin/dnf check-release-update" for full release and version update info
, #_
~\_ ####_
~~ \_#####\
~~ \###|
~~ \#/ ___ Amazon Linux 2023 (ECS Optimized)
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
For documentation, visit [URL_WITH_CREDENTIALS] ~]$ docker exec -it $(docker ps --format "{{.ID}}" --filter "name=ecs-worker" | head -1) /bin/bash -c "cd /home/jiminny && bash"
root@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook redis --key-type ids --detailed -C 537
INFO Scanning Redis keys for config 537 (type: ids).
Total keys found [PASSWORD_DOTS] 0
📊 Memory Overview
Total Memory [PASSWORD_DOTS] 0 B
root@ea573642400f:/home/jiminny# php artisan about
Environment [PASSWORD_DOTS]
Application Name [PASSWORD_DOTS] Jiminny Web App
Laravel Version [PASSWORD_DOTS] 12.54.1
PHP Version [PASSWORD_DOTS] 8.3.30
Composer Version [PASSWORD_DOTS] -
Environment [PASSWORD_DOTS] production
Debug Mode [PASSWORD_DOTS] OFF
URL [PASSWORD_DOTS] app.jiminny.com
Maintenance Mode [PASSWORD_DOTS] OFF
Timezone [PASSWORD_DOTS] UTC
Locale [PASSWORD_DOTS] en_US
Cache [PASSWORD_DOTS]
Config [PASSWORD_DOTS] CACHED
Events [PASSWORD_DOTS] NOT CACHED
Routes [PASSWORD_DOTS] CACHED
Views [PASSWORD_DOTS] CACHED
Drivers [PASSWORD_DOTS]
Broadcasting [PASSWORD_DOTS] pusher
Cache [PASSWORD_DOTS] redis
Database [PASSWORD_DOTS] mysql
Logs [PASSWORD_DOTS] errorlog
Mail [PASSWORD_DOTS] ses
Queue [PASSWORD_DOTS] sqs
Session [PASSWORD_DOTS] redis
Storage [PASSWORD_DOTS]
public/storage [PASSWORD_DOTS] NOT LINKED
Sentry [PASSWORD_DOTS]
Enabled [PASSWORD_DOTS] YES
Environment [PASSWORD_DOTS] production
Laravel SDK Version [PASSWORD_DOTS] 4.13.0
PHP SDK Version [PASSWORD_DOTS] 4.13.0
Release [PASSWORD_DOTS] 874599
Sample Rate Errors [PASSWORD_DOTS] 100%
Sample Rate Performance Monitoring [PASSWORD_DOTS] NOT SET
Sample Rate Profiling [PASSWORD_DOTS] NOT SET
Send Default PII [PASSWORD_DOTS] DISABLED
root@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook metrics -C 537 -D
INFO Webhook Metrics — 2026-04-21.
INFO Looking for metrics: Config 537 (Mobiz - 563), Date 2026-04-21.
📊 Webhook Metrics for Config 537 (Mobiz - 563)
==========================================
Date: 2026-04-21
📦 Object Type: deal
🔔 Event: association_change
Count: 92
🔔 Event: property_change
Count: 10
Properties:
📝 hs_deal_stage_probability: 5 changes
📝 closedate: 3 changes
📝 dealstage: 2 changes
🔔 Event: creation
Count: 3
📦 Object Type: company
🔔 Event: property_change
Count: 160
Properties:
📝 phone: 11 changes
📝 hubspot_owner_id: 113 changes
📝 country: 10 changes
📝 name: 11 changes
📝 domain: 11 changes
📝 industry: 4 changes
🔔 Event: association_change
Count: 10386
🔔 Event: creation
Count: 11
📦 Object Type: contact
🔔 Event: property_change
Count: 298
Properties:
📝 lastname: 12 changes
📝 phone: 14 changes
📝 jobtitle: 10 changes
📝 mobilephone: 9 changes
📝 firstname: 18 changes
📝 email: 16 changes
📝 hubspot_owner_id: 204 changes
📝 country: 6 changes
📝 associatedcompanyid: 9 changes
🔔 Event: association_change
Count: 10466
🔔 Event: creation
Count: 16
root@ea573642400f:/home/jiminny# exit
exit
[ec2-user@ip-10-30-159-186 ~]$ exit
logout
Connection to jiminny-prod-ecs1 closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
ec2-user@ip-10-30-159-186:~...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue Apr 21 10:12:07 on ttys014\n^[[A\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ vprod\nEnter MFA code for arn:aws:iam::438740370364:mfa/lukas.kovalik@jiminny.com: \nWarning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.\n\nA newer release of \"Amazon Linux\" is available.\n Version 2023.10.20260105:\n Version 2023.10.20260120:\n Version 2023.10.20260202:\n Version 2023.10.20260216:\n Version 2023.10.20260302:\n Version 2023.10.20260325:\n Version 2023.10.20260330:\n Version 2023.11.20260406:\n Version 2023.11.20260413:\n Version 2023.8.20250707:\n Version 2023.8.20250715:\n Version 2023.8.20250721:\n Version 2023.8.20250808:\n Version 2023.8.20250818:\n Version 2023.8.20250908:\n Version 2023.8.20250915:\n Version 2023.9.20250929:\n Version 2023.9.20251014:\n Version 2023.9.20251020:\n Version 2023.9.20251027:\n Version 2023.9.20251105:\n Version 2023.9.20251110:\n Version 2023.9.20251117:\n Version 2023.9.20251208:\nRun \"/usr/bin/dnf check-release-update\" for full release and version update info\n , #_\n ~\\_ ####_\n ~~ \\_#####\\\n ~~ \\###|\n ~~ \\#/ ___ Amazon Linux 2023 (ECS Optimized)\n ~~ V~' '->\n ~~~ /\n ~~._. _/\n _/ _/\n _/m/'\n\nFor documentation, visit http://aws.amazon.com/documentation/ecs\nLast login: Tue Apr 21 13:40:53 2026 from 10.30.45.167\n[ec2-user@ip-10-30-159-186 ~]$ docker exec -it $(docker ps --format \"{{.ID}}\" --filter \"name=ecs-worker\" | head -1) /bin/bash -c \"cd /home/jiminny && bash\"\nroot@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook redis --key-type ids --detailed -C 537\n\n INFO Scanning Redis keys for config 537 (type: ids). \n\n\n Total keys found ............................................................................................................................... 0 \n\n📊\u0000 Memory Overview\n Total Memory ................................................................................................................................. 0 B \n\nroot@ea573642400f:/home/jiminny# php artisan about \n\n Environment ...................................................................................................................................... \n Application Name ................................................................................................................. Jiminny Web App \n Laravel Version .......................................................................................................................... 12.54.1 \n PHP Version ............................................................................................................................... 8.3.30 \n Composer Version ............................................................................................................................... - \n Environment ........................................................................................................................... production \n Debug Mode ................................................................................................................................... OFF \n URL .............................................................................................................................. app.jiminny.com \n Maintenance Mode ............................................................................................................................. OFF \n Timezone ..................................................................................................................................... UTC \n Locale ..................................................................................................................................... en_US \n\n Cache ............................................................................................................................................ \n Config .................................................................................................................................... CACHED \n Events ................................................................................................................................ NOT CACHED \n Routes .................................................................................................................................... CACHED \n Views ..................................................................................................................................... CACHED \n\n Drivers .......................................................................................................................................... \n Broadcasting .............................................................................................................................. pusher \n Cache ...................................................................................................................................... redis \n Database ................................................................................................................................... mysql \n Logs .................................................................................................................................... errorlog \n Mail ......................................................................................................................................... ses \n Queue ........................................................................................................................................ sqs \n Session .................................................................................................................................... redis \n\n Storage .......................................................................................................................................... \n public/storage ........................................................................................................................ NOT LINKED \n\n Sentry ........................................................................................................................................... \n Enabled ...................................................................................................................................... YES \n Environment ........................................................................................................................... production \n Laravel SDK Version ....................................................................................................................... 4.13.0 \n PHP SDK Version ........................................................................................................................... 4.13.0 \n Release ................................................................................................................................... 874599 \n Sample Rate Errors .......................................................................................................................... 100% \n Sample Rate Performance Monitoring ....................................................................................................... NOT SET \n Sample Rate Profiling .................................................................................................................... NOT SET \n Send Default PII ........................................................................................................................ DISABLED \n\nroot@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook metrics -C 537 -D\n\n INFO Webhook Metrics — 2026-04-21. \n\n INFO Looking for metrics: Config 537 (Mobiz - 563), Date 2026-04-21. \n\n📊\u0000 Webhook Metrics for Config 537 (Mobiz - 563)\n==========================================\nDate: 2026-04-21\n\n 📦\u0000 Object Type: deal\n 🔔\u0000 Event: association_change\n Count: 92\n\n 🔔\u0000 Event: property_change\n Count: 10\n Properties:\n 📝\u0000 hs_deal_stage_probability: 5 changes\n 📝\u0000 closedate: 3 changes\n 📝\u0000 dealstage: 2 changes\n\n 🔔\u0000 Event: creation\n Count: 3\n\n 📦\u0000 Object Type: company\n 🔔\u0000 Event: property_change\n Count: 160\n Properties:\n 📝\u0000 phone: 11 changes\n 📝\u0000 hubspot_owner_id: 113 changes\n 📝\u0000 country: 10 changes\n 📝\u0000 name: 11 changes\n 📝\u0000 domain: 11 changes\n 📝\u0000 industry: 4 changes\n\n 🔔\u0000 Event: association_change\n Count: 10386\n\n 🔔\u0000 Event: creation\n Count: 11\n\n 📦\u0000 Object Type: contact\n 🔔\u0000 Event: property_change\n Count: 298\n Properties:\n 📝\u0000 lastname: 12 changes\n 📝\u0000 phone: 14 changes\n 📝\u0000 jobtitle: 10 changes\n 📝\u0000 mobilephone: 9 changes\n 📝\u0000 firstname: 18 changes\n 📝\u0000 email: 16 changes\n 📝\u0000 hubspot_owner_id: 204 changes\n 📝\u0000 country: 6 changes\n 📝\u0000 associatedcompanyid: 9 changes\n\n 🔔\u0000 Event: association_change\n Count: 10466\n\n 🔔\u0000 Event: creation\n Count: 16\n\nroot@ea573642400f:/home/jiminny# exit\nexit\n[ec2-user@ip-10-30-159-186 ~]$ exit\nlogout\nConnection to jiminny-prod-ecs1 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":4,"value":"Last login: Tue Apr 21 10:12:07 on ttys014\n^[[A\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ vprod\nEnter MFA code for arn:aws:iam::438740370364:mfa/lukas.kovalik@jiminny.com: \nWarning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.\n\nA newer release of \"Amazon Linux\" is available.\n Version 2023.10.20260105:\n Version 2023.10.20260120:\n Version 2023.10.20260202:\n Version 2023.10.20260216:\n Version 2023.10.20260302:\n Version 2023.10.20260325:\n Version 2023.10.20260330:\n Version 2023.11.20260406:\n Version 2023.11.20260413:\n Version 2023.8.20250707:\n Version 2023.8.20250715:\n Version 2023.8.20250721:\n Version 2023.8.20250808:\n Version 2023.8.20250818:\n Version 2023.8.20250908:\n Version 2023.8.20250915:\n Version 2023.9.20250929:\n Version 2023.9.20251014:\n Version 2023.9.20251020:\n Version 2023.9.20251027:\n Version 2023.9.20251105:\n Version 2023.9.20251110:\n Version 2023.9.20251117:\n Version 2023.9.20251208:\nRun \"/usr/bin/dnf check-release-update\" for full release and version update info\n , #_\n ~\\_ ####_\n ~~ \\_#####\\\n ~~ \\###|\n ~~ \\#/ ___ Amazon Linux 2023 (ECS Optimized)\n ~~ V~' '->\n ~~~ /\n ~~._. _/\n _/ _/\n _/m/'\n\nFor documentation, visit http://aws.amazon.com/documentation/ecs\nLast login: Tue Apr 21 13:40:53 2026 from 10.30.45.167\n[ec2-user@ip-10-30-159-186 ~]$ docker exec -it $(docker ps --format \"{{.ID}}\" --filter \"name=ecs-worker\" | head -1) /bin/bash -c \"cd /home/jiminny && bash\"\nroot@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook redis --key-type ids --detailed -C 537\n\n INFO Scanning Redis keys for config 537 (type: ids). \n\n\n Total keys found ............................................................................................................................... 0 \n\n📊\u0000 Memory Overview\n Total Memory ................................................................................................................................. 0 B \n\nroot@ea573642400f:/home/jiminny# php artisan about \n\n Environment ...................................................................................................................................... \n Application Name ................................................................................................................. Jiminny Web App \n Laravel Version .......................................................................................................................... 12.54.1 \n PHP Version ............................................................................................................................... 8.3.30 \n Composer Version ............................................................................................................................... - \n Environment ........................................................................................................................... production \n Debug Mode ................................................................................................................................... OFF \n URL .............................................................................................................................. app.jiminny.com \n Maintenance Mode ............................................................................................................................. OFF \n Timezone ..................................................................................................................................... UTC \n Locale ..................................................................................................................................... en_US \n\n Cache ............................................................................................................................................ \n Config .................................................................................................................................... CACHED \n Events ................................................................................................................................ NOT CACHED \n Routes .................................................................................................................................... CACHED \n Views ..................................................................................................................................... CACHED \n\n Drivers .......................................................................................................................................... \n Broadcasting .............................................................................................................................. pusher \n Cache ...................................................................................................................................... redis \n Database ................................................................................................................................... mysql \n Logs .................................................................................................................................... errorlog \n Mail ......................................................................................................................................... ses \n Queue ........................................................................................................................................ sqs \n Session .................................................................................................................................... redis \n\n Storage .......................................................................................................................................... \n public/storage ........................................................................................................................ NOT LINKED \n\n Sentry ........................................................................................................................................... \n Enabled ...................................................................................................................................... YES \n Environment ........................................................................................................................... production \n Laravel SDK Version ....................................................................................................................... 4.13.0 \n PHP SDK Version ........................................................................................................................... 4.13.0 \n Release ................................................................................................................................... 874599 \n Sample Rate Errors .......................................................................................................................... 100% \n Sample Rate Performance Monitoring ....................................................................................................... NOT SET \n Sample Rate Profiling .................................................................................................................... NOT SET \n Send Default PII ........................................................................................................................ DISABLED \n\nroot@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook metrics -C 537 -D\n\n INFO Webhook Metrics — 2026-04-21. \n\n INFO Looking for metrics: Config 537 (Mobiz - 563), Date 2026-04-21. \n\n📊\u0000 Webhook Metrics for Config 537 (Mobiz - 563)\n==========================================\nDate: 2026-04-21\n\n 📦\u0000 Object Type: deal\n 🔔\u0000 Event: association_change\n Count: 92\n\n 🔔\u0000 Event: property_change\n Count: 10\n Properties:\n 📝\u0000 hs_deal_stage_probability: 5 changes\n 📝\u0000 closedate: 3 changes\n 📝\u0000 dealstage: 2 changes\n\n 🔔\u0000 Event: creation\n Count: 3\n\n 📦\u0000 Object Type: company\n 🔔\u0000 Event: property_change\n Count: 160\n Properties:\n 📝\u0000 phone: 11 changes\n 📝\u0000 hubspot_owner_id: 113 changes\n 📝\u0000 country: 10 changes\n 📝\u0000 name: 11 changes\n 📝\u0000 domain: 11 changes\n 📝\u0000 industry: 4 changes\n\n 🔔\u0000 Event: association_change\n Count: 10386\n\n 🔔\u0000 Event: creation\n Count: 11\n\n 📦\u0000 Object Type: contact\n 🔔\u0000 Event: property_change\n Count: 298\n Properties:\n 📝\u0000 lastname: 12 changes\n 📝\u0000 phone: 14 changes\n 📝\u0000 jobtitle: 10 changes\n 📝\u0000 mobilephone: 9 changes\n 📝\u0000 firstname: 18 changes\n 📝\u0000 email: 16 changes\n 📝\u0000 hubspot_owner_id: 204 changes\n 📝\u0000 country: 6 changes\n 📝\u0000 associatedcompanyid: 9 changes\n\n 🔔\u0000 Event: association_change\n Count: 10466\n\n 🔔\u0000 Event: creation\n Count: 16\n\nroot@ea573642400f:/home/jiminny# exit\nexit\n[ec2-user@ip-10-30-159-186 ~]$ exit\nlogout\nConnection to jiminny-prod-ecs1 closed.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (node)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"ec2-user@ip-10-30-159-186:~","depth":1,"bounds":{"left":0.47539893,"top":1.0,"width":0.068484046,"height":-0.02394259},"role_description":"text"}]...
|
-603545725813895469
|
-6232323079218140845
|
click
|
accessibility
|
NULL
|
Last login: Tue Apr 21 10:12:07 on ttys014
^[[A
Po Last login: Tue Apr 21 10:12:07 on ttys014
^[[A
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ vprod
Enter MFA code for arn:aws:iam::438740370364:mfa/[EMAIL]:
Warning: Permanently added 'jiminny-prod-ecs1' (ED25519) to the list of known hosts.
A newer release of "Amazon Linux" is available.
Version 2023.10.20260105:
Version 2023.10.20260120:
Version 2023.10.20260202:
Version 2023.10.20260216:
Version 2023.10.20260302:
Version 2023.10.20260325:
Version 2023.10.20260330:
Version 2023.11.20260406:
Version 2023.11.20260413:
Version 2023.8.20250707:
Version 2023.8.20250715:
Version 2023.8.20250721:
Version 2023.8.20250808:
Version 2023.8.20250818:
Version 2023.8.20250908:
Version 2023.8.20250915:
Version 2023.9.20250929:
Version 2023.9.20251014:
Version 2023.9.20251020:
Version 2023.9.20251027:
Version 2023.9.20251105:
Version 2023.9.20251110:
Version 2023.9.20251117:
Version 2023.9.20251208:
Run "/usr/bin/dnf check-release-update" for full release and version update info
, #_
~\_ ####_
~~ \_#####\
~~ \###|
~~ \#/ ___ Amazon Linux 2023 (ECS Optimized)
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
For documentation, visit [URL_WITH_CREDENTIALS] ~]$ docker exec -it $(docker ps --format "{{.ID}}" --filter "name=ecs-worker" | head -1) /bin/bash -c "cd /home/jiminny && bash"
root@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook redis --key-type ids --detailed -C 537
INFO Scanning Redis keys for config 537 (type: ids).
Total keys found [PASSWORD_DOTS] 0
📊 Memory Overview
Total Memory [PASSWORD_DOTS] 0 B
root@ea573642400f:/home/jiminny# php artisan about
Environment [PASSWORD_DOTS]
Application Name [PASSWORD_DOTS] Jiminny Web App
Laravel Version [PASSWORD_DOTS] 12.54.1
PHP Version [PASSWORD_DOTS] 8.3.30
Composer Version [PASSWORD_DOTS] -
Environment [PASSWORD_DOTS] production
Debug Mode [PASSWORD_DOTS] OFF
URL [PASSWORD_DOTS] app.jiminny.com
Maintenance Mode [PASSWORD_DOTS] OFF
Timezone [PASSWORD_DOTS] UTC
Locale [PASSWORD_DOTS] en_US
Cache [PASSWORD_DOTS]
Config [PASSWORD_DOTS] CACHED
Events [PASSWORD_DOTS] NOT CACHED
Routes [PASSWORD_DOTS] CACHED
Views [PASSWORD_DOTS] CACHED
Drivers [PASSWORD_DOTS]
Broadcasting [PASSWORD_DOTS] pusher
Cache [PASSWORD_DOTS] redis
Database [PASSWORD_DOTS] mysql
Logs [PASSWORD_DOTS] errorlog
Mail [PASSWORD_DOTS] ses
Queue [PASSWORD_DOTS] sqs
Session [PASSWORD_DOTS] redis
Storage [PASSWORD_DOTS]
public/storage [PASSWORD_DOTS] NOT LINKED
Sentry [PASSWORD_DOTS]
Enabled [PASSWORD_DOTS] YES
Environment [PASSWORD_DOTS] production
Laravel SDK Version [PASSWORD_DOTS] 4.13.0
PHP SDK Version [PASSWORD_DOTS] 4.13.0
Release [PASSWORD_DOTS] 874599
Sample Rate Errors [PASSWORD_DOTS] 100%
Sample Rate Performance Monitoring [PASSWORD_DOTS] NOT SET
Sample Rate Profiling [PASSWORD_DOTS] NOT SET
Send Default PII [PASSWORD_DOTS] DISABLED
root@ea573642400f:/home/jiminny# php artisan crm:hubspot-webhook metrics -C 537 -D
INFO Webhook Metrics — 2026-04-21.
INFO Looking for metrics: Config 537 (Mobiz - 563), Date 2026-04-21.
📊 Webhook Metrics for Config 537 (Mobiz - 563)
==========================================
Date: 2026-04-21
📦 Object Type: deal
🔔 Event: association_change
Count: 92
🔔 Event: property_change
Count: 10
Properties:
📝 hs_deal_stage_probability: 5 changes
📝 closedate: 3 changes
📝 dealstage: 2 changes
🔔 Event: creation
Count: 3
📦 Object Type: company
🔔 Event: property_change
Count: 160
Properties:
📝 phone: 11 changes
📝 hubspot_owner_id: 113 changes
📝 country: 10 changes
📝 name: 11 changes
📝 domain: 11 changes
📝 industry: 4 changes
🔔 Event: association_change
Count: 10386
🔔 Event: creation
Count: 11
📦 Object Type: contact
🔔 Event: property_change
Count: 298
Properties:
📝 lastname: 12 changes
📝 phone: 14 changes
📝 jobtitle: 10 changes
📝 mobilephone: 9 changes
📝 firstname: 18 changes
📝 email: 16 changes
📝 hubspot_owner_id: 204 changes
📝 country: 6 changes
📝 associatedcompanyid: 9 changes
🔔 Event: association_change
Count: 10466
🔔 Event: creation
Count: 16
root@ea573642400f:/home/jiminny# exit
exit
[ec2-user@ip-10-30-159-186 ~]$ exit
logout
Connection to jiminny-prod-ecs1 closed.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
ec2-user@ip-10-30-159-186:~...
|
68463
|
|
68467
|
1550
|
28
|
2026-04-21T17:18:12.443067+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776791892443_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue Apr 21 09:09:08 on ttys010
Poetry Last login: Tue Apr 21 09:09:08 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
9.5G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/*
cd: too many arguments
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
5.2G /Users/lukas/.screenpipe/data
4.3G /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
16M /Users/lukas/.screenpipe/db.sqlite-wal
36K /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
160K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
172K /Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log
196K /Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log
204K /Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log
64K /Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log
352K /Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log
16K /Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log
16K /Users/lukas/.screenpipe/screenpipe_sync.sh
24K /Users/lukas/.screenpipe/sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll
total 1028152
drwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .
drwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..
-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4
-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4
-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4
-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4
-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4
-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4
-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4
-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4
-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4
-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4
-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4
-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4
-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4
-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4
-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4
-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4
-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4
-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4
-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4
-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4
-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4
-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4
-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4
-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4
-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4
-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4
-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4
-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4
-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4
-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4
-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4
-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4
-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4
-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4
-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4
-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4
-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4
-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4
-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4
-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4
-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4
-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4
-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4
-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4
-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4
-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4
-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4
-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4
-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4
-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4
-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4
-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4
-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4
-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4
-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4
-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4
-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4
-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4
-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4
-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4
-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4
-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4
-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4
-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4
-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4
-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4
-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4
-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4
-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4
-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4
-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4
-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4
-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4
-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4
-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4
-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4
-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4
-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4
-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4
-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4
-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4
-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4
-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4
-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4
-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4
-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4
-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4
-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4
-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4
-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4
-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4
-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4
-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4
-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4
-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4
-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4
-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4
-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4
-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4
-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4
-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4
-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4
-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4
-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4
-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4
-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4
-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4
-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4
-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4
-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4
-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4
-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4
-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4
-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4
-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4
-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4
-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4
-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4
-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4
-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4
-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4
-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4
-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4
-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4
-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4
-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4
-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4
-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4
-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4
-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4
-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4
-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4
-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4
-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4
-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4
-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4
-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4
-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4
-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4
-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4
-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4
-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4
-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4
-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4
-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4
-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4
-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4
-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4
-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4
-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4
-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4
-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4
-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4
-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4
-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4
-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4
-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4
-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4
-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4
-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4
-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4
-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4
-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4
-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4
-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4
-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4
-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4
-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4
-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4
-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4
-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4
-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4
-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4
-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4
-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4
-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4
-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4
-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4
-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4
-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4
-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4
-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4
-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4
-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4
-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4
-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4
-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4
-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4
-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4
-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4
-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4
-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..
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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:15] ========================================
[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:15] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:39] ========================================
[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:39] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
NAS mount: OK /Volumes/Test/screenpipe
Archive DB: exists (3.0G)
Data dir: OK (192 files, 501M)
[+00m03s] ▶ Counting source rows for 2026-04-20
frames: 9093
elements: 687142
ui_events: 9970
ocr_text: 5971
meetings: 2
[+00m03s] ▶ Initialising tables, indexes, FTS
creating tables ✓ 0m00s
creating indexes ✓ 0m01s
creating FTS tables ✓ 0m00s
[+00m04s] ▶ Syncing data for 2026-04-20
video_chunks ✓ 0m00s
frames (9093 rows) ✓ 1m20s
ocr_text (5971 rows) ✓ 0m48s
ui_events (9970 rows) ✓ 0m01s
elements (687142 rows) ✓ 0m48s
meetings (2 rows) ✓ 0m00s
[+03m01s] ▶ Updating FTS indexes
elements_fts ✓ 1m27s
frames_fts ✓ 2m10s
ui_events_fts ✓ 0m03s
[+06m41s] ▶ Verifying DB
frames: 9093 / 9093 ✓
elements: 687142 / 687142 ✓
ui_events: 9970 / 9970 ✓
ocr_text: 5971 / 5971 ✓
meetings: 2 / 2 ✓
[+07m44s] ▶ Copying data folder for 2026-04-20
rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)
[2026-04-21 10:48:54] Archive DB size: 3.8G
[2026-04-21 10:48:54] Total time: 8m15s
[2026-04-21 10:48:54] Sync complete for 2026-04-20
[2026-04-21 10:48:54] ========================================
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue Apr 21 09:09:08 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n9.5G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/* \ncd: too many arguments\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n5.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n4.3G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 16M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 36K\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\n160K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\n172K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log\n204K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log\n352K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe_sync.sh\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll\ntotal 1028152\ndrwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .\ndrwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..\n-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4\n-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4\n-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4\n-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4\n-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4\n-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4\n-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4\n-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4\n-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4\n-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4\n-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4\n-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4\n-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4\n-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4\n-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4\n-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4\n-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4\n-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4\n-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4\n-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4\n-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4\n-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4\n-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4\n-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4\n-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4\n-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4\n-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4\n-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4\n-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4\n-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4\n-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4\n-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4\n-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4\n-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4\n-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4\n-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4\n-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4\n-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4\n-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4\n-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4\n-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4\n-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4\n-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4\n-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4\n-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4\n-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4\n-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4\n-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4\n-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4\n-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4\n-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4\n-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4\n-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4\n-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4\n-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4\n-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4\n-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4\n-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4\n-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4\n-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4\n-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4\n-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4\n-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4\n-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4\n-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4\n-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4\n-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4\n-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4\n-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4\n-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4\n-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4\n-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4\n-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4\n-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4\n-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4\n-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4\n-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4\n-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4\n-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4\n-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4\n-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4\n-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4\n-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4\n-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4\n-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4\n-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4\n-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4\n-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4\n-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4\n-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4\n-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4\n-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4\n-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4\n-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4\n-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4\n-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4\n-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4\n-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4\n-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4\n-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4\n-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4\n-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4\n-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4\n-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4\n-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4\n-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4\n-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4\n-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4\n-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4\n-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4\n-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4\n-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4\n-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4\n-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4\n-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4\n-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4\n-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4\n-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4\n-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4\n-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4\n-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4\n-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4\n-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4\n-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4\n-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4\n-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4\n-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4\n-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4\n-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4\n-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4\n-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4\n-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4\n-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4\n-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4\n-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4\n-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4\n-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4\n-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4\n-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4\n-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4\n-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4\n-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4\n-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4\n-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4\n-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4\n-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4\n-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4\n-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4\n-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4\n-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4\n-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4\n-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4\n-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4\n-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4\n-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4\n-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4\n-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4\n-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4\n-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4\n-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4\n-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4\n-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4\n-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4\n-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4\n-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4\n-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4\n-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4\n-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4\n-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4\n-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4\n-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4\n-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4\n-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4\n-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4\n-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4\n-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4\n-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4\n-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4\n-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4\n-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4\n-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4\n-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4\n-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4\n-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4\n-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4\n-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4\n-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4\n-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4\n-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4\n-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4\n-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4\n-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..\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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20 \n[2026-04-21 10:40:15] ========================================\n[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:15] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20\n[2026-04-21 10:40:39] ========================================\n[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:39] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n NAS mount: OK /Volumes/Test/screenpipe\n Archive DB: exists (3.0G)\n Data dir: OK (192 files, 501M)\n\n[+00m03s] ▶ Counting source rows for 2026-04-20\n frames: 9093\n elements: 687142\n ui_events: 9970\n ocr_text: 5971\n meetings: 2\n\n[+00m03s] ▶ Initialising tables, indexes, FTS\n creating tables ✓ 0m00s\n creating indexes ✓ 0m01s\n creating FTS tables ✓ 0m00s\n\n[+00m04s] ▶ Syncing data for 2026-04-20\n video_chunks ✓ 0m00s\n frames (9093 rows) ✓ 1m20s\n ocr_text (5971 rows) ✓ 0m48s\n ui_events (9970 rows) ✓ 0m01s\n elements (687142 rows) ✓ 0m48s\n meetings (2 rows) ✓ 0m00s\n\n[+03m01s] ▶ Updating FTS indexes\n elements_fts ✓ 1m27s\n frames_fts ✓ 2m10s\n ui_events_fts ✓ 0m03s\n\n[+06m41s] ▶ Verifying DB\n frames: 9093 / 9093 ✓\n elements: 687142 / 687142 ✓\n ui_events: 9970 / 9970 ✓\n ocr_text: 5971 / 5971 ✓\n meetings: 2 / 2 ✓\n\n[+07m44s] ▶ Copying data folder for 2026-04-20\n rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)\n\n[2026-04-21 10:48:54] Archive DB size: 3.8G\n[2026-04-21 10:48:54] Total time: 8m15s\n[2026-04-21 10:48:54] Sync complete for 2026-04-20\n[2026-04-21 10:48:54] ========================================\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"value":"Last login: Tue Apr 21 09:09:08 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n9.5G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/* \ncd: too many arguments\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n5.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n4.3G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 16M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 36K\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\n160K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\n172K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log\n204K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log\n352K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe_sync.sh\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll\ntotal 1028152\ndrwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .\ndrwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..\n-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4\n-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4\n-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4\n-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4\n-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4\n-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4\n-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4\n-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4\n-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4\n-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4\n-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4\n-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4\n-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4\n-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4\n-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4\n-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4\n-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4\n-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4\n-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4\n-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4\n-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4\n-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4\n-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4\n-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4\n-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4\n-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4\n-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4\n-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4\n-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4\n-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4\n-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4\n-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4\n-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4\n-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4\n-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4\n-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4\n-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4\n-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4\n-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4\n-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4\n-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4\n-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4\n-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4\n-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4\n-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4\n-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4\n-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4\n-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4\n-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4\n-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4\n-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4\n-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4\n-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4\n-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4\n-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4\n-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4\n-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4\n-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4\n-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4\n-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4\n-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4\n-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4\n-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4\n-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4\n-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4\n-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4\n-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4\n-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4\n-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4\n-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4\n-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4\n-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4\n-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4\n-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4\n-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4\n-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4\n-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4\n-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4\n-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4\n-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4\n-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4\n-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4\n-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4\n-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4\n-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4\n-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4\n-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4\n-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4\n-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4\n-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4\n-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4\n-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4\n-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4\n-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4\n-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4\n-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4\n-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4\n-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4\n-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4\n-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4\n-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4\n-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4\n-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4\n-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4\n-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4\n-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4\n-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4\n-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4\n-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4\n-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4\n-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4\n-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4\n-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4\n-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4\n-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4\n-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4\n-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4\n-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4\n-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4\n-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4\n-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4\n-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4\n-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4\n-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4\n-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4\n-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4\n-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4\n-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4\n-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4\n-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4\n-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4\n-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4\n-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4\n-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4\n-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4\n-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4\n-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4\n-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4\n-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4\n-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4\n-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4\n-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4\n-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4\n-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4\n-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4\n-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4\n-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4\n-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4\n-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4\n-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4\n-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4\n-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4\n-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4\n-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4\n-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4\n-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4\n-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4\n-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4\n-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4\n-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4\n-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4\n-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4\n-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4\n-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4\n-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4\n-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4\n-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4\n-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4\n-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4\n-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4\n-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4\n-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4\n-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4\n-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4\n-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4\n-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4\n-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4\n-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4\n-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4\n-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4\n-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4\n-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4\n-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4\n-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4\n-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4\n-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4\n-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4\n-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4\n-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4\n-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4\n-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4\n-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..\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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20 \n[2026-04-21 10:40:15] ========================================\n[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:15] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20\n[2026-04-21 10:40:39] ========================================\n[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:39] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n NAS mount: OK /Volumes/Test/screenpipe\n Archive DB: exists (3.0G)\n Data dir: OK (192 files, 501M)\n\n[+00m03s] ▶ Counting source rows for 2026-04-20\n frames: 9093\n elements: 687142\n ui_events: 9970\n ocr_text: 5971\n meetings: 2\n\n[+00m03s] ▶ Initialising tables, indexes, FTS\n creating tables ✓ 0m00s\n creating indexes ✓ 0m01s\n creating FTS tables ✓ 0m00s\n\n[+00m04s] ▶ Syncing data for 2026-04-20\n video_chunks ✓ 0m00s\n frames (9093 rows) ✓ 1m20s\n ocr_text (5971 rows) ✓ 0m48s\n ui_events (9970 rows) ✓ 0m01s\n elements (687142 rows) ✓ 0m48s\n meetings (2 rows) ✓ 0m00s\n\n[+03m01s] ▶ Updating FTS indexes\n elements_fts ✓ 1m27s\n frames_fts ✓ 2m10s\n ui_events_fts ✓ 0m03s\n\n[+06m41s] ▶ Verifying DB\n frames: 9093 / 9093 ✓\n elements: 687142 / 687142 ✓\n ui_events: 9970 / 9970 ✓\n ocr_text: 5971 / 5971 ✓\n meetings: 2 / 2 ✓\n\n[+07m44s] ▶ Copying data folder for 2026-04-20\n rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)\n\n[2026-04-21 10:48:54] Archive DB size: 3.8G\n[2026-04-21 10:48:54] Total time: 8m15s\n[2026-04-21 10:48:54] Sync complete for 2026-04-20\n[2026-04-21 10:48:54] ========================================\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (node)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
9221521470831985012
|
-3716007189216872317
|
click
|
accessibility
|
NULL
|
Last login: Tue Apr 21 09:09:08 on ttys010
Poetry Last login: Tue Apr 21 09:09:08 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
9.5G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/*
cd: too many arguments
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
5.2G /Users/lukas/.screenpipe/data
4.3G /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
16M /Users/lukas/.screenpipe/db.sqlite-wal
36K /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
160K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
172K /Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log
196K /Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log
204K /Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log
64K /Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log
352K /Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log
16K /Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log
16K /Users/lukas/.screenpipe/screenpipe_sync.sh
24K /Users/lukas/.screenpipe/sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll
total 1028152
drwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .
drwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..
-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4
-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4
-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4
-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4
-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4
-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4
-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4
-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4
-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4
-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4
-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4
-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4
-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4
-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4
-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4
-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4
-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4
-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4
-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4
-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4
-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4
-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4
-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4
-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4
-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4
-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4
-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4
-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4
-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4
-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4
-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4
-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4
-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4
-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4
-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4
-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4
-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4
-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4
-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4
-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4
-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4
-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4
-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4
-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4
-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4
-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4
-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4
-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4
-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4
-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4
-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4
-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4
-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4
-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4
-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4
-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4
-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4
-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4
-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4
-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4
-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4
-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4
-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4
-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4
-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4
-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4
-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4
-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4
-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4
-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4
-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4
-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4
-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4
-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4
-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4
-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4
-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4
-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4
-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4
-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4
-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4
-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4
-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4
-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4
-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4
-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4
-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4
-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4
-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4
-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4
-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4
-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4
-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4
-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4
-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4
-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4
-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4
-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4
-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4
-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4
-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4
-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4
-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4
-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4
-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4
-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4
-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4
-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4
-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4
-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4
-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4
-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4
-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4
-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4
-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4
-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4
-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4
-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4
-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4
-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4
-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4
-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4
-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4
-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4
-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4
-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4
-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4
-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4
-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4
-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4
-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4
-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4
-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4
-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4
-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4
-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4
-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4
-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4
-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4
-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4
-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4
-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4
-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4
-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4
-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4
-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4
-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4
-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4
-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4
-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4
-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4
-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4
-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4
-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4
-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4
-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4
-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4
-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4
-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4
-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4
-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4
-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4
-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4
-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4
-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4
-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4
-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4
-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4
-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4
-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4
-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4
-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4
-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4
-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4
-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4
-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4
-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4
-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4
-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4
-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4
-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4
-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4
-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4
-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4
-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4
-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4
-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4
-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4
-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4
-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4
-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4
-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..
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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:15] ========================================
[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:15] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:39] ========================================
[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:39] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
NAS mount: OK /Volumes/Test/screenpipe
Archive DB: exists (3.0G)
Data dir: OK (192 files, 501M)
[+00m03s] ▶ Counting source rows for 2026-04-20
frames: 9093
elements: 687142
ui_events: 9970
ocr_text: 5971
meetings: 2
[+00m03s] ▶ Initialising tables, indexes, FTS
creating tables ✓ 0m00s
creating indexes ✓ 0m01s
creating FTS tables ✓ 0m00s
[+00m04s] ▶ Syncing data for 2026-04-20
video_chunks ✓ 0m00s
frames (9093 rows) ✓ 1m20s
ocr_text (5971 rows) ✓ 0m48s
ui_events (9970 rows) ✓ 0m01s
elements (687142 rows) ✓ 0m48s
meetings (2 rows) ✓ 0m00s
[+03m01s] ▶ Updating FTS indexes
elements_fts ✓ 1m27s
frames_fts ✓ 2m10s
ui_events_fts ✓ 0m03s
[+06m41s] ▶ Verifying DB
frames: 9093 / 9093 ✓
elements: 687142 / 687142 ✓
ui_events: 9970 / 9970 ✓
ocr_text: 5971 / 5971 ✓
meetings: 2 / 2 ✓
[+07m44s] ▶ Copying data folder for 2026-04-20
rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)
[2026-04-21 10:48:54] Archive DB size: 3.8G
[2026-04-21 10:48:54] Total time: 8m15s
[2026-04-21 10:48:54] Sync complete for 2026-04-20
[2026-04-21 10:48:54] ========================================
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68468
|
1551
|
28
|
2026-04-21T17:18:13.875734+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776791893875_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue Apr 21 09:09:08 on ttys010
Poetry Last login: Tue Apr 21 09:09:08 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
9.5G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/*
cd: too many arguments
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
5.2G /Users/lukas/.screenpipe/data
4.3G /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
16M /Users/lukas/.screenpipe/db.sqlite-wal
36K /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
160K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
172K /Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log
196K /Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log
204K /Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log
64K /Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log
352K /Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log
16K /Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log
16K /Users/lukas/.screenpipe/screenpipe_sync.sh
24K /Users/lukas/.screenpipe/sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll
total 1028152
drwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .
drwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..
-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4
-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4
-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4
-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4
-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4
-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4
-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4
-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4
-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4
-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4
-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4
-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4
-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4
-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4
-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4
-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4
-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4
-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4
-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4
-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4
-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4
-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4
-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4
-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4
-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4
-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4
-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4
-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4
-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4
-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4
-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4
-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4
-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4
-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4
-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4
-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4
-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4
-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4
-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4
-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4
-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4
-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4
-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4
-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4
-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4
-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4
-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4
-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4
-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4
-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4
-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4
-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4
-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4
-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4
-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4
-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4
-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4
-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4
-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4
-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4
-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4
-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4
-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4
-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4
-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4
-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4
-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4
-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4
-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4
-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4
-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4
-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4
-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4
-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4
-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4
-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4
-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4
-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4
-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4
-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4
-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4
-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4
-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4
-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4
-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4
-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4
-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4
-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4
-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4
-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4
-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4
-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4
-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4
-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4
-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4
-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4
-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4
-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4
-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4
-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4
-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4
-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4
-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4
-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4
-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4
-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4
-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4
-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4
-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4
-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4
-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4
-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4
-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4
-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4
-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4
-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4
-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4
-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4
-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4
-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4
-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4
-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4
-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4
-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4
-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4
-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4
-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4
-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4
-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4
-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4
-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4
-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4
-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4
-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4
-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4
-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4
-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4
-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4
-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4
-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4
-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4
-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4
-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4
-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4
-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4
-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4
-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4
-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4
-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4
-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4
-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4
-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4
-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4
-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4
-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4
-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4
-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4
-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4
-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4
-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4
-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4
-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4
-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4
-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4
-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4
-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4
-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4
-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4
-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4
-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4
-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4
-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4
-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4
-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4
-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4
-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4
-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4
-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4
-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4
-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4
-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4
-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4
-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4
-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4
-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4
-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4
-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4
-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4
-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4
-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4
-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4
-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..
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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:15] ========================================
[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:15] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:39] ========================================
[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:39] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
NAS mount: OK /Volumes/Test/screenpipe
Archive DB: exists (3.0G)
Data dir: OK (192 files, 501M)
[+00m03s] ▶ Counting source rows for 2026-04-20
frames: 9093
elements: 687142
ui_events: 9970
ocr_text: 5971
meetings: 2
[+00m03s] ▶ Initialising tables, indexes, FTS
creating tables ✓ 0m00s
creating indexes ✓ 0m01s
creating FTS tables ✓ 0m00s
[+00m04s] ▶ Syncing data for 2026-04-20
video_chunks ✓ 0m00s
frames (9093 rows) ✓ 1m20s
ocr_text (5971 rows) ✓ 0m48s
ui_events (9970 rows) ✓ 0m01s
elements (687142 rows) ✓ 0m48s
meetings (2 rows) ✓ 0m00s
[+03m01s] ▶ Updating FTS indexes
elements_fts ✓ 1m27s
frames_fts ✓ 2m10s
ui_events_fts ✓ 0m03s
[+06m41s] ▶ Verifying DB
frames: 9093 / 9093 ✓
elements: 687142 / 687142 ✓
ui_events: 9970 / 9970 ✓
ocr_text: 5971 / 5971 ✓
meetings: 2 / 2 ✓
[+07m44s] ▶ Copying data folder for 2026-04-20
rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)
[2026-04-21 10:48:54] Archive DB size: 3.8G
[2026-04-21 10:48:54] Total time: 8m15s
[2026-04-21 10:48:54] Sync complete for 2026-04-20
[2026-04-21 10:48:54] ========================================
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue Apr 21 09:09:08 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n9.5G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/* \ncd: too many arguments\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n5.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n4.3G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 16M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 36K\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\n160K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\n172K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log\n204K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log\n352K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe_sync.sh\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll\ntotal 1028152\ndrwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .\ndrwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..\n-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4\n-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4\n-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4\n-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4\n-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4\n-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4\n-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4\n-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4\n-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4\n-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4\n-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4\n-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4\n-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4\n-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4\n-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4\n-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4\n-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4\n-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4\n-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4\n-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4\n-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4\n-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4\n-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4\n-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4\n-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4\n-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4\n-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4\n-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4\n-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4\n-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4\n-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4\n-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4\n-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4\n-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4\n-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4\n-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4\n-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4\n-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4\n-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4\n-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4\n-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4\n-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4\n-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4\n-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4\n-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4\n-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4\n-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4\n-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4\n-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4\n-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4\n-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4\n-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4\n-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4\n-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4\n-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4\n-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4\n-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4\n-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4\n-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4\n-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4\n-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4\n-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4\n-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4\n-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4\n-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4\n-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4\n-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4\n-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4\n-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4\n-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4\n-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4\n-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4\n-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4\n-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4\n-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4\n-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4\n-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4\n-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4\n-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4\n-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4\n-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4\n-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4\n-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4\n-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4\n-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4\n-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4\n-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4\n-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4\n-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4\n-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4\n-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4\n-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4\n-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4\n-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4\n-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4\n-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4\n-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4\n-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4\n-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4\n-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4\n-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4\n-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4\n-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4\n-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4\n-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4\n-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4\n-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4\n-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4\n-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4\n-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4\n-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4\n-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4\n-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4\n-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4\n-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4\n-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4\n-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4\n-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4\n-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4\n-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4\n-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4\n-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4\n-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4\n-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4\n-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4\n-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4\n-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4\n-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4\n-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4\n-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4\n-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4\n-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4\n-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4\n-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4\n-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4\n-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4\n-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4\n-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4\n-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4\n-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4\n-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4\n-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4\n-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4\n-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4\n-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4\n-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4\n-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4\n-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4\n-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4\n-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4\n-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4\n-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4\n-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4\n-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4\n-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4\n-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4\n-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4\n-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4\n-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4\n-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4\n-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4\n-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4\n-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4\n-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4\n-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4\n-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4\n-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4\n-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4\n-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4\n-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4\n-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4\n-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4\n-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4\n-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4\n-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4\n-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4\n-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4\n-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4\n-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4\n-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4\n-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4\n-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4\n-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4\n-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4\n-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4\n-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4\n-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4\n-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4\n-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4\n-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4\n-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4\n-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..\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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20 \n[2026-04-21 10:40:15] ========================================\n[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:15] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20\n[2026-04-21 10:40:39] ========================================\n[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:39] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n NAS mount: OK /Volumes/Test/screenpipe\n Archive DB: exists (3.0G)\n Data dir: OK (192 files, 501M)\n\n[+00m03s] ▶ Counting source rows for 2026-04-20\n frames: 9093\n elements: 687142\n ui_events: 9970\n ocr_text: 5971\n meetings: 2\n\n[+00m03s] ▶ Initialising tables, indexes, FTS\n creating tables ✓ 0m00s\n creating indexes ✓ 0m01s\n creating FTS tables ✓ 0m00s\n\n[+00m04s] ▶ Syncing data for 2026-04-20\n video_chunks ✓ 0m00s\n frames (9093 rows) ✓ 1m20s\n ocr_text (5971 rows) ✓ 0m48s\n ui_events (9970 rows) ✓ 0m01s\n elements (687142 rows) ✓ 0m48s\n meetings (2 rows) ✓ 0m00s\n\n[+03m01s] ▶ Updating FTS indexes\n elements_fts ✓ 1m27s\n frames_fts ✓ 2m10s\n ui_events_fts ✓ 0m03s\n\n[+06m41s] ▶ Verifying DB\n frames: 9093 / 9093 ✓\n elements: 687142 / 687142 ✓\n ui_events: 9970 / 9970 ✓\n ocr_text: 5971 / 5971 ✓\n meetings: 2 / 2 ✓\n\n[+07m44s] ▶ Copying data folder for 2026-04-20\n rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)\n\n[2026-04-21 10:48:54] Archive DB size: 3.8G\n[2026-04-21 10:48:54] Total time: 8m15s\n[2026-04-21 10:48:54] Sync complete for 2026-04-20\n[2026-04-21 10:48:54] ========================================\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe","depth":4,"value":"Last login: Tue Apr 21 09:09:08 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n9.5G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/* \ncd: too many arguments\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n5.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n4.3G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 16M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 36K\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\n160K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\n172K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log\n204K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log\n352K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe_sync.sh\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll\ntotal 1028152\ndrwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .\ndrwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..\n-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4\n-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4\n-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4\n-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4\n-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4\n-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4\n-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4\n-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4\n-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4\n-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4\n-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4\n-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4\n-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4\n-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4\n-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4\n-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4\n-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4\n-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4\n-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4\n-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4\n-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4\n-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4\n-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4\n-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4\n-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4\n-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4\n-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4\n-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4\n-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4\n-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4\n-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4\n-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4\n-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4\n-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4\n-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4\n-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4\n-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4\n-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4\n-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4\n-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4\n-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4\n-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4\n-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4\n-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4\n-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4\n-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4\n-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4\n-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4\n-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4\n-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4\n-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4\n-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4\n-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4\n-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4\n-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4\n-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4\n-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4\n-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4\n-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4\n-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4\n-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4\n-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4\n-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4\n-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4\n-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4\n-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4\n-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4\n-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4\n-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4\n-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4\n-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4\n-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4\n-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4\n-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4\n-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4\n-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4\n-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4\n-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4\n-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4\n-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4\n-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4\n-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4\n-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4\n-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4\n-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4\n-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4\n-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4\n-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4\n-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4\n-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4\n-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4\n-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4\n-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4\n-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4\n-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4\n-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4\n-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4\n-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4\n-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4\n-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4\n-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4\n-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4\n-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4\n-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4\n-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4\n-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4\n-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4\n-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4\n-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4\n-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4\n-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4\n-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4\n-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4\n-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4\n-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4\n-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4\n-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4\n-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4\n-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4\n-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4\n-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4\n-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4\n-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4\n-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4\n-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4\n-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4\n-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4\n-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4\n-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4\n-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4\n-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4\n-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4\n-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4\n-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4\n-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4\n-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4\n-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4\n-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4\n-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4\n-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4\n-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4\n-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4\n-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4\n-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4\n-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4\n-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4\n-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4\n-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4\n-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4\n-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4\n-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4\n-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4\n-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4\n-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4\n-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4\n-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4\n-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4\n-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4\n-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4\n-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4\n-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4\n-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4\n-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4\n-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4\n-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4\n-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4\n-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4\n-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4\n-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4\n-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4\n-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4\n-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4\n-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4\n-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4\n-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4\n-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4\n-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4\n-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4\n-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4\n-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4\n-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4\n-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4\n-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4\n-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4\n-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4\n-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4\n-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4\n-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4\n-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4\n-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4\n-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4\n-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..\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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20 \n[2026-04-21 10:40:15] ========================================\n[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:15] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20\n[2026-04-21 10:40:39] ========================================\n[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:39] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n NAS mount: OK /Volumes/Test/screenpipe\n Archive DB: exists (3.0G)\n Data dir: OK (192 files, 501M)\n\n[+00m03s] ▶ Counting source rows for 2026-04-20\n frames: 9093\n elements: 687142\n ui_events: 9970\n ocr_text: 5971\n meetings: 2\n\n[+00m03s] ▶ Initialising tables, indexes, FTS\n creating tables ✓ 0m00s\n creating indexes ✓ 0m01s\n creating FTS tables ✓ 0m00s\n\n[+00m04s] ▶ Syncing data for 2026-04-20\n video_chunks ✓ 0m00s\n frames (9093 rows) ✓ 1m20s\n ocr_text (5971 rows) ✓ 0m48s\n ui_events (9970 rows) ✓ 0m01s\n elements (687142 rows) ✓ 0m48s\n meetings (2 rows) ✓ 0m00s\n\n[+03m01s] ▶ Updating FTS indexes\n elements_fts ✓ 1m27s\n frames_fts ✓ 2m10s\n ui_events_fts ✓ 0m03s\n\n[+06m41s] ▶ Verifying DB\n frames: 9093 / 9093 ✓\n elements: 687142 / 687142 ✓\n ui_events: 9970 / 9970 ✓\n ocr_text: 5971 / 5971 ✓\n meetings: 2 / 2 ✓\n\n[+07m44s] ▶ Copying data folder for 2026-04-20\n rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)\n\n[2026-04-21 10:48:54] Archive DB size: 3.8G\n[2026-04-21 10:48:54] Total time: 8m15s\n[2026-04-21 10:48:54] Sync complete for 2026-04-20\n[2026-04-21 10:48:54] ========================================\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (node)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-134049752988249376
|
-3716007120497394557
|
click
|
accessibility
|
NULL
|
Last login: Tue Apr 21 09:09:08 on ttys010
Poetry Last login: Tue Apr 21 09:09:08 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
9.5G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/*
cd: too many arguments
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
5.2G /Users/lukas/.screenpipe/data
4.3G /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
16M /Users/lukas/.screenpipe/db.sqlite-wal
36K /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
160K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
172K /Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log
196K /Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log
204K /Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log
64K /Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log
352K /Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log
16K /Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log
16K /Users/lukas/.screenpipe/screenpipe_sync.sh
24K /Users/lukas/.screenpipe/sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll
total 1028152
drwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .
drwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..
-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4
-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4
-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4
-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4
-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4
-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4
-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4
-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4
-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4
-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4
-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4
-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4
-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4
-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4
-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4
-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4
-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4
-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4
-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4
-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4
-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4
-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4
-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4
-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4
-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4
-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4
-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4
-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4
-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4
-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4
-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4
-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4
-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4
-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4
-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4
-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4
-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4
-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4
-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4
-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4
-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4
-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4
-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4
-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4
-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4
-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4
-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4
-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4
-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4
-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4
-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4
-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4
-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4
-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4
-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4
-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4
-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4
-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4
-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4
-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4
-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4
-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4
-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4
-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4
-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4
-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4
-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4
-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4
-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4
-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4
-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4
-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4
-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4
-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4
-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4
-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4
-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4
-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4
-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4
-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4
-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4
-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4
-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4
-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4
-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4
-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4
-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4
-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4
-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4
-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4
-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4
-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4
-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4
-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4
-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4
-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4
-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4
-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4
-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4
-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4
-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4
-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4
-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4
-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4
-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4
-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4
-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4
-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4
-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4
-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4
-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4
-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4
-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4
-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4
-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4
-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4
-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4
-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4
-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4
-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4
-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4
-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4
-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4
-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4
-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4
-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4
-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4
-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4
-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4
-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4
-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4
-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4
-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4
-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4
-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4
-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4
-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4
-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4
-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4
-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4
-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4
-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4
-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4
-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4
-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4
-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4
-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4
-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4
-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4
-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4
-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4
-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4
-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4
-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4
-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4
-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4
-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4
-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4
-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4
-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4
-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4
-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4
-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4
-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4
-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4
-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4
-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4
-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4
-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4
-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4
-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4
-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4
-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4
-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4
-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4
-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4
-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4
-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4
-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4
-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4
-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4
-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4
-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4
-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4
-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4
-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4
-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4
-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4
-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4
-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4
-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4
-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..
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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:15] ========================================
[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:15] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:39] ========================================
[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:39] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
NAS mount: OK /Volumes/Test/screenpipe
Archive DB: exists (3.0G)
Data dir: OK (192 files, 501M)
[+00m03s] ▶ Counting source rows for 2026-04-20
frames: 9093
elements: 687142
ui_events: 9970
ocr_text: 5971
meetings: 2
[+00m03s] ▶ Initialising tables, indexes, FTS
creating tables ✓ 0m00s
creating indexes ✓ 0m01s
creating FTS tables ✓ 0m00s
[+00m04s] ▶ Syncing data for 2026-04-20
video_chunks ✓ 0m00s
frames (9093 rows) ✓ 1m20s
ocr_text (5971 rows) ✓ 0m48s
ui_events (9970 rows) ✓ 0m01s
elements (687142 rows) ✓ 0m48s
meetings (2 rows) ✓ 0m00s
[+03m01s] ▶ Updating FTS indexes
elements_fts ✓ 1m27s
frames_fts ✓ 2m10s
ui_events_fts ✓ 0m03s
[+06m41s] ▶ Verifying DB
frames: 9093 / 9093 ✓
elements: 687142 / 687142 ✓
ui_events: 9970 / 9970 ✓
ocr_text: 5971 / 5971 ✓
meetings: 2 / 2 ✓
[+07m44s] ▶ Copying data folder for 2026-04-20
rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)
[2026-04-21 10:48:54] Archive DB size: 3.8G
[2026-04-21 10:48:54] Total time: 8m15s
[2026-04-21 10:48:54] Sync complete for 2026-04-20
[2026-04-21 10:48:54] ========================================
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68469
|
NULL
|
0
|
2026-04-21T17:18:15.925230+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776791895925_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue Apr 21 09:09:08 on ttys010
Poetry Last login: Tue Apr 21 09:09:08 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
9.5G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/*
cd: too many arguments
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
5.2G /Users/lukas/.screenpipe/data
4.3G /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
16M /Users/lukas/.screenpipe/db.sqlite-wal
36K /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
160K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
172K /Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log
196K /Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log
204K /Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log
64K /Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log
352K /Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log
16K /Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log
16K /Users/lukas/.screenpipe/screenpipe_sync.sh
24K /Users/lukas/.screenpipe/sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll
total 1028152
drwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .
drwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..
-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4
-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4
-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4
-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4
-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4
-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4
-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4
-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4
-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4
-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4
-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4
-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4
-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4
-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4
-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4
-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4
-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4
-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4
-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4
-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4
-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4
-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4
-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4
-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4
-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4
-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4
-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4
-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4
-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4
-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4
-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4
-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4
-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4
-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4
-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4
-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4
-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4
-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4
-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4
-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4
-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4
-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4
-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4
-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4
-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4
-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4
-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4
-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4
-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4
-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4
-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4
-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4
-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4
-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4
-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4
-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4
-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4
-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4
-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4
-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4
-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4
-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4
-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4
-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4
-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4
-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4
-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4
-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4
-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4
-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4
-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4
-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4
-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4
-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4
-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4
-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4
-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4
-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4
-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4
-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4
-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4
-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4
-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4
-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4
-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4
-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4
-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4
-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4
-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4
-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4
-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4
-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4
-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4
-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4
-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4
-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4
-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4
-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4
-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4
-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4
-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4
-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4
-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4
-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4
-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4
-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4
-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4
-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4
-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4
-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4
-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4
-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4
-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4
-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4
-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4
-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4
-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4
-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4
-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4
-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4
-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4
-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4
-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4
-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4
-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4
-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4
-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4
-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4
-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4
-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4
-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4
-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4
-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4
-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4
-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4
-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4
-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4
-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4
-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4
-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4
-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4
-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4
-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4
-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4
-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4
-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4
-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4
-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4
-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4
-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4
-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4
-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4
-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4
-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4
-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4
-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4
-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4
-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4
-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4
-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4
-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4
-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4
-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4
-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4
-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4
-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4
-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4
-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4
-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4
-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4
-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4
-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4
-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4
-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4
-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4
-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4
-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4
-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4
-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4
-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4
-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4
-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4
-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4
-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4
-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4
-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4
-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4
-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4
-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4
-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4
-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4
-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..
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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:15] ========================================
[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:15] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:39] ========================================
[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:39] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
NAS mount: OK /Volumes/Test/screenpipe
Archive DB: exists (3.0G)
Data dir: OK (192 files, 501M)
[+00m03s] ▶ Counting source rows for 2026-04-20
frames: 9093
elements: 687142
ui_events: 9970
ocr_text: 5971
meetings: 2
[+00m03s] ▶ Initialising tables, indexes, FTS
creating tables ✓ 0m00s
creating indexes ✓ 0m01s
creating FTS tables ✓ 0m00s
[+00m04s] ▶ Syncing data for 2026-04-20
video_chunks ✓ 0m00s
frames (9093 rows) ✓ 1m20s
ocr_text (5971 rows) ✓ 0m48s
ui_events (9970 rows) ✓ 0m01s
elements (687142 rows) ✓ 0m48s
meetings (2 rows) ✓ 0m00s
[+03m01s] ▶ Updating FTS indexes
elements_fts ✓ 1m27s
frames_fts ✓ 2m10s
ui_events_fts ✓ 0m03s
[+06m41s] ▶ Verifying DB
frames: 9093 / 9093 ✓
elements: 687142 / 687142 ✓
ui_events: 9970 / 9970 ✓
ocr_text: 5971 / 5971 ✓
meetings: 2 / 2 ✓
[+07m44s] ▶ Copying data folder for 2026-04-20
rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)
[2026-04-21 10:48:54] Archive DB size: 3.8G
[2026-04-21 10:48:54] Total time: 8m15s
[2026-04-21 10:48:54] Sync complete for 2026-04-20
[2026-04-21 10:48:54] ========================================
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue Apr 21 09:09:08 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n9.5G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/* \ncd: too many arguments\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n5.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n4.3G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 16M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 36K\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\n160K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\n172K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log\n204K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log\n352K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe_sync.sh\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll\ntotal 1028152\ndrwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .\ndrwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..\n-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4\n-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4\n-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4\n-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4\n-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4\n-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4\n-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4\n-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4\n-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4\n-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4\n-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4\n-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4\n-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4\n-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4\n-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4\n-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4\n-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4\n-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4\n-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4\n-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4\n-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4\n-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4\n-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4\n-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4\n-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4\n-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4\n-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4\n-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4\n-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4\n-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4\n-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4\n-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4\n-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4\n-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4\n-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4\n-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4\n-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4\n-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4\n-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4\n-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4\n-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4\n-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4\n-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4\n-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4\n-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4\n-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4\n-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4\n-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4\n-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4\n-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4\n-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4\n-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4\n-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4\n-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4\n-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4\n-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4\n-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4\n-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4\n-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4\n-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4\n-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4\n-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4\n-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4\n-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4\n-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4\n-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4\n-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4\n-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4\n-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4\n-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4\n-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4\n-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4\n-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4\n-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4\n-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4\n-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4\n-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4\n-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4\n-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4\n-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4\n-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4\n-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4\n-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4\n-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4\n-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4\n-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4\n-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4\n-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4\n-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4\n-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4\n-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4\n-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4\n-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4\n-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4\n-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4\n-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4\n-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4\n-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4\n-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4\n-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4\n-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4\n-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4\n-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4\n-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4\n-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4\n-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4\n-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4\n-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4\n-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4\n-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4\n-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4\n-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4\n-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4\n-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4\n-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4\n-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4\n-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4\n-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4\n-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4\n-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4\n-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4\n-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4\n-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4\n-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4\n-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4\n-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4\n-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4\n-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4\n-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4\n-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4\n-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4\n-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4\n-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4\n-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4\n-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4\n-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4\n-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4\n-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4\n-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4\n-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4\n-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4\n-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4\n-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4\n-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4\n-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4\n-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4\n-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4\n-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4\n-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4\n-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4\n-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4\n-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4\n-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4\n-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4\n-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4\n-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4\n-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4\n-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4\n-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4\n-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4\n-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4\n-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4\n-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4\n-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4\n-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4\n-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4\n-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4\n-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4\n-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4\n-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4\n-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4\n-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4\n-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4\n-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4\n-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4\n-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4\n-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4\n-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4\n-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4\n-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4\n-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4\n-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4\n-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4\n-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4\n-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4\n-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4\n-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4\n-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4\n-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4\n-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4\n-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4\n-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..\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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20 \n[2026-04-21 10:40:15] ========================================\n[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:15] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20\n[2026-04-21 10:40:39] ========================================\n[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:39] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n NAS mount: OK /Volumes/Test/screenpipe\n Archive DB: exists (3.0G)\n Data dir: OK (192 files, 501M)\n\n[+00m03s] ▶ Counting source rows for 2026-04-20\n frames: 9093\n elements: 687142\n ui_events: 9970\n ocr_text: 5971\n meetings: 2\n\n[+00m03s] ▶ Initialising tables, indexes, FTS\n creating tables ✓ 0m00s\n creating indexes ✓ 0m01s\n creating FTS tables ✓ 0m00s\n\n[+00m04s] ▶ Syncing data for 2026-04-20\n video_chunks ✓ 0m00s\n frames (9093 rows) ✓ 1m20s\n ocr_text (5971 rows) ✓ 0m48s\n ui_events (9970 rows) ✓ 0m01s\n elements (687142 rows) ✓ 0m48s\n meetings (2 rows) ✓ 0m00s\n\n[+03m01s] ▶ Updating FTS indexes\n elements_fts ✓ 1m27s\n frames_fts ✓ 2m10s\n ui_events_fts ✓ 0m03s\n\n[+06m41s] ▶ Verifying DB\n frames: 9093 / 9093 ✓\n elements: 687142 / 687142 ✓\n ui_events: 9970 / 9970 ✓\n ocr_text: 5971 / 5971 ✓\n meetings: 2 / 2 ✓\n\n[+07m44s] ▶ Copying data folder for 2026-04-20\n rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)\n\n[2026-04-21 10:48:54] Archive DB size: 3.8G\n[2026-04-21 10:48:54] Total time: 8m15s\n[2026-04-21 10:48:54] Sync complete for 2026-04-20\n[2026-04-21 10:48:54] ========================================\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe\n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $","depth":4,"value":"Last login: Tue Apr 21 09:09:08 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n9.5G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/* \ncd: too many arguments\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n5.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n4.3G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 16M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 36K\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\n160K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\n172K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log\n204K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log\n352K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe_sync.sh\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll\ntotal 1028152\ndrwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .\ndrwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..\n-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4\n-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4\n-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4\n-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4\n-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4\n-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4\n-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4\n-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4\n-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4\n-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4\n-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4\n-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4\n-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4\n-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4\n-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4\n-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4\n-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4\n-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4\n-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4\n-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4\n-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4\n-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4\n-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4\n-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4\n-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4\n-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4\n-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4\n-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4\n-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4\n-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4\n-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4\n-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4\n-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4\n-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4\n-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4\n-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4\n-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4\n-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4\n-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4\n-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4\n-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4\n-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4\n-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4\n-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4\n-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4\n-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4\n-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4\n-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4\n-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4\n-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4\n-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4\n-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4\n-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4\n-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4\n-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4\n-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4\n-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4\n-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4\n-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4\n-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4\n-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4\n-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4\n-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4\n-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4\n-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4\n-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4\n-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4\n-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4\n-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4\n-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4\n-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4\n-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4\n-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4\n-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4\n-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4\n-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4\n-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4\n-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4\n-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4\n-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4\n-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4\n-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4\n-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4\n-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4\n-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4\n-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4\n-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4\n-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4\n-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4\n-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4\n-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4\n-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4\n-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4\n-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4\n-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4\n-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4\n-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4\n-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4\n-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4\n-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4\n-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4\n-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4\n-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4\n-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4\n-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4\n-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4\n-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4\n-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4\n-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4\n-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4\n-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4\n-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4\n-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4\n-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4\n-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4\n-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4\n-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4\n-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4\n-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4\n-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4\n-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4\n-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4\n-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4\n-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4\n-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4\n-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4\n-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4\n-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4\n-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4\n-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4\n-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4\n-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4\n-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4\n-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4\n-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4\n-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4\n-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4\n-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4\n-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4\n-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4\n-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4\n-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4\n-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4\n-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4\n-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4\n-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4\n-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4\n-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4\n-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4\n-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4\n-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4\n-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4\n-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4\n-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4\n-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4\n-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4\n-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4\n-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4\n-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4\n-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4\n-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4\n-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4\n-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4\n-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4\n-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4\n-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4\n-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4\n-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4\n-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4\n-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4\n-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4\n-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4\n-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4\n-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4\n-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4\n-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4\n-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4\n-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4\n-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4\n-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4\n-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4\n-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4\n-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4\n-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4\n-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4\n-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4\n-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4\n-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4\n-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4\n-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4\n-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4\n-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..\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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20 \n[2026-04-21 10:40:15] ========================================\n[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:15] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20\n[2026-04-21 10:40:39] ========================================\n[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:39] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n NAS mount: OK /Volumes/Test/screenpipe\n Archive DB: exists (3.0G)\n Data dir: OK (192 files, 501M)\n\n[+00m03s] ▶ Counting source rows for 2026-04-20\n frames: 9093\n elements: 687142\n ui_events: 9970\n ocr_text: 5971\n meetings: 2\n\n[+00m03s] ▶ Initialising tables, indexes, FTS\n creating tables ✓ 0m00s\n creating indexes ✓ 0m01s\n creating FTS tables ✓ 0m00s\n\n[+00m04s] ▶ Syncing data for 2026-04-20\n video_chunks ✓ 0m00s\n frames (9093 rows) ✓ 1m20s\n ocr_text (5971 rows) ✓ 0m48s\n ui_events (9970 rows) ✓ 0m01s\n elements (687142 rows) ✓ 0m48s\n meetings (2 rows) ✓ 0m00s\n\n[+03m01s] ▶ Updating FTS indexes\n elements_fts ✓ 1m27s\n frames_fts ✓ 2m10s\n ui_events_fts ✓ 0m03s\n\n[+06m41s] ▶ Verifying DB\n frames: 9093 / 9093 ✓\n elements: 687142 / 687142 ✓\n ui_events: 9970 / 9970 ✓\n ocr_text: 5971 / 5971 ✓\n meetings: 2 / 2 ✓\n\n[+07m44s] ▶ Copying data folder for 2026-04-20\n rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)\n\n[2026-04-21 10:48:54] Archive DB size: 3.8G\n[2026-04-21 10:48:54] Total time: 8m15s\n[2026-04-21 10:48:54] Sync complete for 2026-04-20\n[2026-04-21 10:48:54] ========================================\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe\n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (node)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
-6457104358979775026
|
-3716007120497394557
|
click
|
accessibility
|
NULL
|
Last login: Tue Apr 21 09:09:08 on ttys010
Poetry Last login: Tue Apr 21 09:09:08 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
9.5G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/*
cd: too many arguments
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
5.2G /Users/lukas/.screenpipe/data
4.3G /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
16M /Users/lukas/.screenpipe/db.sqlite-wal
36K /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
160K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
172K /Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log
196K /Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log
204K /Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log
64K /Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log
352K /Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log
16K /Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log
16K /Users/lukas/.screenpipe/screenpipe_sync.sh
24K /Users/lukas/.screenpipe/sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll
total 1028152
drwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .
drwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..
-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4
-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4
-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4
-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4
-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4
-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4
-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4
-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4
-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4
-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4
-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4
-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4
-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4
-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4
-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4
-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4
-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4
-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4
-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4
-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4
-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4
-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4
-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4
-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4
-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4
-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4
-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4
-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4
-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4
-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4
-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4
-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4
-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4
-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4
-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4
-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4
-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4
-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4
-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4
-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4
-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4
-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4
-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4
-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4
-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4
-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4
-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4
-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4
-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4
-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4
-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4
-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4
-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4
-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4
-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4
-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4
-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4
-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4
-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4
-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4
-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4
-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4
-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4
-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4
-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4
-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4
-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4
-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4
-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4
-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4
-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4
-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4
-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4
-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4
-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4
-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4
-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4
-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4
-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4
-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4
-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4
-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4
-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4
-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4
-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4
-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4
-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4
-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4
-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4
-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4
-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4
-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4
-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4
-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4
-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4
-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4
-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4
-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4
-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4
-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4
-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4
-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4
-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4
-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4
-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4
-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4
-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4
-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4
-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4
-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4
-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4
-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4
-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4
-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4
-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4
-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4
-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4
-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4
-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4
-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4
-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4
-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4
-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4
-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4
-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4
-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4
-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4
-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4
-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4
-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4
-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4
-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4
-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4
-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4
-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4
-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4
-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4
-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4
-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4
-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4
-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4
-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4
-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4
-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4
-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4
-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4
-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4
-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4
-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4
-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4
-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4
-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4
-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4
-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4
-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4
-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4
-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4
-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4
-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4
-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4
-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4
-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4
-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4
-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4
-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4
-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4
-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4
-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4
-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4
-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4
-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4
-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4
-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4
-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4
-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4
-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4
-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4
-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4
-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4
-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4
-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4
-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4
-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4
-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4
-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4
-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4
-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4
-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4
-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4
-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4
-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4
-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..
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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:15] ========================================
[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:15] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:39] ========================================
[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:39] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
NAS mount: OK /Volumes/Test/screenpipe
Archive DB: exists (3.0G)
Data dir: OK (192 files, 501M)
[+00m03s] ▶ Counting source rows for 2026-04-20
frames: 9093
elements: 687142
ui_events: 9970
ocr_text: 5971
meetings: 2
[+00m03s] ▶ Initialising tables, indexes, FTS
creating tables ✓ 0m00s
creating indexes ✓ 0m01s
creating FTS tables ✓ 0m00s
[+00m04s] ▶ Syncing data for 2026-04-20
video_chunks ✓ 0m00s
frames (9093 rows) ✓ 1m20s
ocr_text (5971 rows) ✓ 0m48s
ui_events (9970 rows) ✓ 0m01s
elements (687142 rows) ✓ 0m48s
meetings (2 rows) ✓ 0m00s
[+03m01s] ▶ Updating FTS indexes
elements_fts ✓ 1m27s
frames_fts ✓ 2m10s
ui_events_fts ✓ 0m03s
[+06m41s] ▶ Verifying DB
frames: 9093 / 9093 ✓
elements: 687142 / 687142 ✓
ui_events: 9970 / 9970 ✓
ocr_text: 5971 / 5971 ✓
meetings: 2 / 2 ✓
[+07m44s] ▶ Copying data folder for 2026-04-20
rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)
[2026-04-21 10:48:54] Archive DB size: 3.8G
[2026-04-21 10:48:54] Total time: 8m15s
[2026-04-21 10:48:54] Sync complete for 2026-04-20
[2026-04-21 10:48:54] ========================================
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
68467
|
|
68470
|
NULL
|
0
|
2026-04-21T17:18:17.732420+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776791897732_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue Apr 21 09:09:08 on ttys010
Poetry Last login: Tue Apr 21 09:09:08 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
9.5G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/*
cd: too many arguments
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
5.2G /Users/lukas/.screenpipe/data
4.3G /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
16M /Users/lukas/.screenpipe/db.sqlite-wal
36K /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
160K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
172K /Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log
196K /Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log
204K /Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log
64K /Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log
352K /Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log
16K /Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log
16K /Users/lukas/.screenpipe/screenpipe_sync.sh
24K /Users/lukas/.screenpipe/sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll
total 1028152
drwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .
drwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..
-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4
-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4
-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4
-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4
-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4
-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4
-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4
-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4
-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4
-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4
-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4
-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4
-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4
-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4
-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4
-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4
-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4
-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4
-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4
-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4
-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4
-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4
-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4
-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4
-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4
-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4
-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4
-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4
-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4
-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4
-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4
-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4
-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4
-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4
-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4
-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4
-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4
-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4
-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4
-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4
-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4
-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4
-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4
-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4
-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4
-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4
-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4
-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4
-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4
-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4
-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4
-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4
-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4
-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4
-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4
-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4
-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4
-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4
-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4
-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4
-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4
-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4
-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4
-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4
-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4
-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4
-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4
-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4
-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4
-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4
-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4
-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4
-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4
-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4
-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4
-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4
-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4
-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4
-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4
-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4
-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4
-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4
-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4
-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4
-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4
-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4
-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4
-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4
-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4
-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4
-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4
-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4
-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4
-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4
-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4
-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4
-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4
-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4
-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4
-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4
-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4
-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4
-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4
-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4
-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4
-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4
-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4
-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4
-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4
-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4
-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4
-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4
-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4
-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4
-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4
-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4
-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4
-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4
-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4
-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4
-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4
-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4
-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4
-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4
-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4
-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4
-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4
-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4
-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4
-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4
-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4
-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4
-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4
-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4
-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4
-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4
-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4
-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4
-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4
-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4
-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4
-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4
-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4
-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4
-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4
-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4
-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4
-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4
-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4
-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4
-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4
-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4
-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4
-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4
-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4
-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4
-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4
-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4
-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4
-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4
-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4
-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4
-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4
-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4
-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4
-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4
-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4
-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4
-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4
-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4
-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4
-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4
-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4
-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4
-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4
-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4
-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4
-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4
-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4
-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4
-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4
-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4
-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4
-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4
-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4
-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4
-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4
-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4
-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4
-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4
-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4
-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..
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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:15] ========================================
[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:15] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:39] ========================================
[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:39] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
NAS mount: OK /Volumes/Test/screenpipe
Archive DB: exists (3.0G)
Data dir: OK (192 files, 501M)
[+00m03s] ▶ Counting source rows for 2026-04-20
frames: 9093
elements: 687142
ui_events: 9970
ocr_text: 5971
meetings: 2
[+00m03s] ▶ Initialising tables, indexes, FTS
creating tables ✓ 0m00s
creating indexes ✓ 0m01s
creating FTS tables ✓ 0m00s
[+00m04s] ▶ Syncing data for 2026-04-20
video_chunks ✓ 0m00s
frames (9093 rows) ✓ 1m20s
ocr_text (5971 rows) ✓ 0m48s
ui_events (9970 rows) ✓ 0m01s
elements (687142 rows) ✓ 0m48s
meetings (2 rows) ✓ 0m00s
[+03m01s] ▶ Updating FTS indexes
elements_fts ✓ 1m27s
frames_fts ✓ 2m10s
ui_events_fts ✓ 0m03s
[+06m41s] ▶ Verifying DB
frames: 9093 / 9093 ✓
elements: 687142 / 687142 ✓
ui_events: 9970 / 9970 ✓
ocr_text: 5971 / 5971 ✓
meetings: 2 / 2 ✓
[+07m44s] ▶ Copying data folder for 2026-04-20
rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)
[2026-04-21 10:48:54] Archive DB size: 3.8G
[2026-04-21 10:48:54] Total time: 8m15s
[2026-04-21 10:48:54] Sync complete for 2026-04-20
[2026-04-21 10:48:54] ========================================
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue Apr 21 09:09:08 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n9.5G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/* \ncd: too many arguments\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n5.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n4.3G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 16M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 36K\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\n160K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\n172K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log\n204K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log\n352K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe_sync.sh\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll\ntotal 1028152\ndrwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .\ndrwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..\n-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4\n-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4\n-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4\n-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4\n-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4\n-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4\n-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4\n-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4\n-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4\n-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4\n-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4\n-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4\n-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4\n-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4\n-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4\n-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4\n-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4\n-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4\n-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4\n-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4\n-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4\n-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4\n-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4\n-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4\n-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4\n-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4\n-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4\n-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4\n-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4\n-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4\n-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4\n-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4\n-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4\n-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4\n-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4\n-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4\n-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4\n-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4\n-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4\n-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4\n-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4\n-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4\n-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4\n-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4\n-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4\n-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4\n-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4\n-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4\n-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4\n-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4\n-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4\n-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4\n-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4\n-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4\n-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4\n-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4\n-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4\n-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4\n-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4\n-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4\n-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4\n-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4\n-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4\n-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4\n-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4\n-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4\n-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4\n-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4\n-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4\n-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4\n-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4\n-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4\n-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4\n-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4\n-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4\n-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4\n-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4\n-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4\n-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4\n-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4\n-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4\n-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4\n-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4\n-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4\n-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4\n-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4\n-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4\n-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4\n-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4\n-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4\n-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4\n-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4\n-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4\n-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4\n-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4\n-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4\n-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4\n-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4\n-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4\n-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4\n-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4\n-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4\n-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4\n-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4\n-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4\n-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4\n-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4\n-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4\n-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4\n-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4\n-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4\n-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4\n-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4\n-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4\n-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4\n-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4\n-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4\n-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4\n-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4\n-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4\n-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4\n-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4\n-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4\n-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4\n-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4\n-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4\n-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4\n-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4\n-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4\n-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4\n-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4\n-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4\n-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4\n-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4\n-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4\n-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4\n-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4\n-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4\n-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4\n-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4\n-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4\n-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4\n-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4\n-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4\n-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4\n-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4\n-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4\n-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4\n-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4\n-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4\n-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4\n-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4\n-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4\n-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4\n-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4\n-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4\n-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4\n-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4\n-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4\n-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4\n-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4\n-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4\n-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4\n-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4\n-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4\n-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4\n-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4\n-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4\n-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4\n-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4\n-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4\n-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4\n-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4\n-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4\n-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4\n-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4\n-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4\n-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4\n-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4\n-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4\n-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4\n-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4\n-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4\n-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4\n-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4\n-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4\n-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4\n-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4\n-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4\n-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4\n-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4\n-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..\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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20 \n[2026-04-21 10:40:15] ========================================\n[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:15] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20\n[2026-04-21 10:40:39] ========================================\n[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:39] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n NAS mount: OK /Volumes/Test/screenpipe\n Archive DB: exists (3.0G)\n Data dir: OK (192 files, 501M)\n\n[+00m03s] ▶ Counting source rows for 2026-04-20\n frames: 9093\n elements: 687142\n ui_events: 9970\n ocr_text: 5971\n meetings: 2\n\n[+00m03s] ▶ Initialising tables, indexes, FTS\n creating tables ✓ 0m00s\n creating indexes ✓ 0m01s\n creating FTS tables ✓ 0m00s\n\n[+00m04s] ▶ Syncing data for 2026-04-20\n video_chunks ✓ 0m00s\n frames (9093 rows) ✓ 1m20s\n ocr_text (5971 rows) ✓ 0m48s\n ui_events (9970 rows) ✓ 0m01s\n elements (687142 rows) ✓ 0m48s\n meetings (2 rows) ✓ 0m00s\n\n[+03m01s] ▶ Updating FTS indexes\n elements_fts ✓ 1m27s\n frames_fts ✓ 2m10s\n ui_events_fts ✓ 0m03s\n\n[+06m41s] ▶ Verifying DB\n frames: 9093 / 9093 ✓\n elements: 687142 / 687142 ✓\n ui_events: 9970 / 9970 ✓\n ocr_text: 5971 / 5971 ✓\n meetings: 2 / 2 ✓\n\n[+07m44s] ▶ Copying data folder for 2026-04-20\n rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)\n\n[2026-04-21 10:48:54] Archive DB size: 3.8G\n[2026-04-21 10:48:54] Total time: 8m15s\n[2026-04-21 10:48:54] Sync complete for 2026-04-20\n[2026-04-21 10:48:54] ========================================\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe\n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe","depth":4,"value":"Last login: Tue Apr 21 09:09:08 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n9.5G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/* \ncd: too many arguments\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*\n4.0K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/config.json\n5.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/data\n4.3G\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-shm\n 16M\u0000\u0000\u0000\t/Users/lukas/.screenpipe/db.sqlite-wal\n 36K\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\n160K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log\n172K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log\n196K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log\n204K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log\n 64K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log\n352K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log\n 16K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/screenpipe_sync.sh\n 24K\u0000\u0000\u0000\t/Users/lukas/.screenpipe/sync.log\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll\ntotal 1028152\ndrwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .\ndrwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..\n-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4\n-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4\n-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4\n-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4\n-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4\n-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4\n-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4\n-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4\n-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4\n-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4\n-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4\n-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4\n-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4\n-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4\n-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4\n-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4\n-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4\n-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4\n-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4\n-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4\n-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4\n-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4\n-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4\n-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4\n-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4\n-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4\n-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4\n-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4\n-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4\n-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4\n-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4\n-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4\n-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4\n-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4\n-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4\n-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4\n-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4\n-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4\n-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4\n-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4\n-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4\n-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4\n-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4\n-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4\n-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4\n-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4\n-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4\n-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4\n-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4\n-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4\n-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4\n-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4\n-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4\n-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4\n-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4\n-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4\n-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4\n-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4\n-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4\n-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4\n-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4\n-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4\n-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4\n-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4\n-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4\n-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4\n-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4\n-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4\n-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4\n-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4\n-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4\n-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4\n-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4\n-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4\n-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4\n-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4\n-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4\n-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4\n-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4\n-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4\n-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4\n-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4\n-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4\n-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4\n-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4\n-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4\n-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4\n-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4\n-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4\n-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4\n-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4\n-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4\n-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4\n-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4\n-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4\n-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4\n-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4\n-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4\n-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4\n-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4\n-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4\n-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4\n-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4\n-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4\n-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4\n-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4\n-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4\n-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4\n-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4\n-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4\n-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4\n-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4\n-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4\n-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4\n-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4\n-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4\n-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4\n-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4\n-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4\n-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4\n-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4\n-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4\n-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4\n-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4\n-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4\n-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4\n-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4\n-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4\n-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4\n-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4\n-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4\n-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4\n-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4\n-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4\n-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4\n-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4\n-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4\n-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4\n-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4\n-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4\n-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4\n-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4\n-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4\n-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4\n-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4\n-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4\n-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4\n-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4\n-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4\n-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4\n-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4\n-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4\n-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4\n-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4\n-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4\n-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4\n-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4\n-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4\n-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4\n-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4\n-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4\n-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4\n-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4\n-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4\n-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4\n-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4\n-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4\n-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4\n-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4\n-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4\n-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4\n-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4\n-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4\n-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4\n-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4\n-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4\n-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4\n-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4\n-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4\n-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4\n-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4\n-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4\n-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4\n-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4\n-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4\n-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4\n-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4\n-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4\n-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4\n-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4\n-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4\n-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..\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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20 \n[2026-04-21 10:40:15] ========================================\n[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:15] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20\n[2026-04-21 10:40:39] ========================================\n[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20\n[2026-04-21 10:40:39] ========================================\n\n[+00m00s] ▶ Preflight checks\n Source DB: OK (4.5G)\n NAS mount: OK /Volumes/Test/screenpipe\n Archive DB: exists (3.0G)\n Data dir: OK (192 files, 501M)\n\n[+00m03s] ▶ Counting source rows for 2026-04-20\n frames: 9093\n elements: 687142\n ui_events: 9970\n ocr_text: 5971\n meetings: 2\n\n[+00m03s] ▶ Initialising tables, indexes, FTS\n creating tables ✓ 0m00s\n creating indexes ✓ 0m01s\n creating FTS tables ✓ 0m00s\n\n[+00m04s] ▶ Syncing data for 2026-04-20\n video_chunks ✓ 0m00s\n frames (9093 rows) ✓ 1m20s\n ocr_text (5971 rows) ✓ 0m48s\n ui_events (9970 rows) ✓ 0m01s\n elements (687142 rows) ✓ 0m48s\n meetings (2 rows) ✓ 0m00s\n\n[+03m01s] ▶ Updating FTS indexes\n elements_fts ✓ 1m27s\n frames_fts ✓ 2m10s\n ui_events_fts ✓ 0m03s\n\n[+06m41s] ▶ Verifying DB\n frames: 9093 / 9093 ✓\n elements: 687142 / 687142 ✓\n ui_events: 9970 / 9970 ✓\n ocr_text: 5971 / 5971 ✓\n meetings: 2 / 2 ✓\n\n[+07m44s] ▶ Copying data folder for 2026-04-20\n rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)\n\n[2026-04-21 10:48:54] Archive DB size: 3.8G\n[2026-04-21 10:48:54] Total time: 8m15s\n[2026-04-21 10:48:54] Sync complete for 2026-04-20\n[2026-04-21 10:48:54] ========================================\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe\n 11G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (node)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-2162026906498497667
|
-3716007120497394557
|
click
|
accessibility
|
NULL
|
Last login: Tue Apr 21 09:09:08 on ttys010
Poetry Last login: Tue Apr 21 09:09:08 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
9.5G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.screenpipe/*
cd: too many arguments
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe/*
4.0K /Users/lukas/.screenpipe/config.json
5.2G /Users/lukas/.screenpipe/data
4.3G /Users/lukas/.screenpipe/db.sqlite
64K /Users/lukas/.screenpipe/db.sqlite-shm
16M /Users/lukas/.screenpipe/db.sqlite-wal
36K /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
160K /Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log
172K /Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log
196K /Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log
204K /Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log
64K /Users/lukas/.screenpipe/screenpipe.2026-04-18.0.log
352K /Users/lukas/.screenpipe/screenpipe.2026-04-20.0.log
16K /Users/lukas/.screenpipe/screenpipe.2026-04-21.0.log
16K /Users/lukas/.screenpipe/screenpipe_sync.sh
24K /Users/lukas/.screenpipe/sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd data/data/2026-04-20
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ ll
total 1028152
drwxr-xr-x 194 lukas staff 6208 21 Apr 09:10 .
drwxr-xr-x 14 lukas staff 448 21 Apr 09:09 ..
-rw-r--r-- 1 lukas staff 693554 20 Apr 09:20 compact_monitor_1_1776666027568.mp4
-rw-r--r-- 1 lukas staff 2292711 20 Apr 09:25 compact_monitor_1_1776666335423.mp4
-rw-r--r-- 1 lukas staff 3373751 20 Apr 09:30 compact_monitor_1_1776666644694.mp4
-rw-r--r-- 1 lukas staff 1141798 20 Apr 09:36 compact_monitor_1_1776666964111.mp4
-rw-r--r-- 1 lukas staff 1116735 20 Apr 09:41 compact_monitor_1_1776667280362.mp4
-rw-r--r-- 1 lukas staff 312074 20 Apr 09:46 compact_monitor_1_1776667610890.mp4
-rw-r--r-- 1 lukas staff 2540109 20 Apr 09:52 compact_monitor_1_1776667932459.mp4
-rw-r--r-- 1 lukas staff 4258007 20 Apr 09:58 compact_monitor_1_1776668266614.mp4
-rw-r--r-- 1 lukas staff 3672899 20 Apr 10:03 compact_monitor_1_1776668602756.mp4
-rw-r--r-- 1 lukas staff 6736829 20 Apr 10:18 compact_monitor_1_1776669493360.mp4
-rw-r--r-- 1 lukas staff 515278 20 Apr 10:28 compact_monitor_1_1776670108337.mp4
-rw-r--r-- 1 lukas staff 4563425 20 Apr 10:33 compact_monitor_1_1776670414205.mp4
-rw-r--r-- 1 lukas staff 2773923 20 Apr 10:38 compact_monitor_1_1776670720980.mp4
-rw-r--r-- 1 lukas staff 144316 20 Apr 10:43 compact_monitor_1_1776671028184.mp4
-rw-r--r-- 1 lukas staff 114593 20 Apr 10:48 compact_monitor_1_1776671337226.mp4
-rw-r--r-- 1 lukas staff 84061 20 Apr 10:54 compact_monitor_1_1776671645099.mp4
-rw-r--r-- 1 lukas staff 138837 20 Apr 10:59 compact_monitor_1_1776671948570.mp4
-rw-r--r-- 1 lukas staff 922928 20 Apr 11:04 compact_monitor_1_1776672259288.mp4
-rw-r--r-- 1 lukas staff 202502 20 Apr 11:09 compact_monitor_1_1776672573034.mp4
-rw-r--r-- 1 lukas staff 161221 20 Apr 11:14 compact_monitor_1_1776672880999.mp4
-rw-r--r-- 1 lukas staff 722270 20 Apr 11:19 compact_monitor_1_1776673195531.mp4
-rw-r--r-- 1 lukas staff 927507 20 Apr 11:25 compact_monitor_1_1776673511487.mp4
-rw-r--r-- 1 lukas staff 1946362 20 Apr 11:30 compact_monitor_1_1776673825191.mp4
-rw-r--r-- 1 lukas staff 2262449 20 Apr 11:35 compact_monitor_1_1776674135008.mp4
-rw-r--r-- 1 lukas staff 2673064 20 Apr 11:40 compact_monitor_1_1776674443695.mp4
-rw-r--r-- 1 lukas staff 3385935 20 Apr 11:45 compact_monitor_1_1776674753075.mp4
-rw-r--r-- 1 lukas staff 3970196 20 Apr 11:51 compact_monitor_1_1776675069567.mp4
-rw-r--r-- 1 lukas staff 180069 20 Apr 11:51 compact_monitor_1_1776675080259.mp4
-rw-r--r-- 1 lukas staff 183982 20 Apr 11:56 compact_monitor_1_1776675388576.mp4
-rw-r--r-- 1 lukas staff 2412845 20 Apr 12:01 compact_monitor_1_1776675694882.mp4
-rw-r--r-- 1 lukas staff 1852048 20 Apr 12:06 compact_monitor_1_1776676010514.mp4
-rw-r--r-- 1 lukas staff 4474440 20 Apr 12:11 compact_monitor_1_1776676315785.mp4
-rw-r--r-- 1 lukas staff 3041244 20 Apr 12:17 compact_monitor_1_1776676624932.mp4
-rw-r--r-- 1 lukas staff 953703 20 Apr 12:22 compact_monitor_1_1776676935457.mp4
-rw-r--r-- 1 lukas staff 204639 20 Apr 12:27 compact_monitor_1_1776677243573.mp4
-rw-r--r-- 1 lukas staff 1047573 20 Apr 12:32 compact_monitor_1_1776677555968.mp4
-rw-r--r-- 1 lukas staff 410146 20 Apr 12:37 compact_monitor_1_1776677869651.mp4
-rw-r--r-- 1 lukas staff 1097017 20 Apr 12:43 compact_monitor_1_1776678179263.mp4
-rw-r--r-- 1 lukas staff 649528 20 Apr 12:48 compact_monitor_1_1776678488504.mp4
-rw-r--r-- 1 lukas staff 620278 20 Apr 12:53 compact_monitor_1_1776678801739.mp4
-rw-r--r-- 1 lukas staff 1497201 20 Apr 12:58 compact_monitor_1_1776679110088.mp4
-rw-r--r-- 1 lukas staff 434578 20 Apr 13:03 compact_monitor_1_1776679419906.mp4
-rw-r--r-- 1 lukas staff 341751 20 Apr 13:08 compact_monitor_1_1776679730068.mp4
-rw-r--r-- 1 lukas staff 346717 20 Apr 13:14 compact_monitor_1_1776680038703.mp4
-rw-r--r-- 1 lukas staff 340310 20 Apr 13:19 compact_monitor_1_1776680350917.mp4
-rw-r--r-- 1 lukas staff 432905 20 Apr 13:40 compact_monitor_1_1776681603125.mp4
-rw-r--r-- 1 lukas staff 1500908 20 Apr 13:50 compact_monitor_1_1776682206178.mp4
-rw-r--r-- 1 lukas staff 1146740 20 Apr 13:55 compact_monitor_1_1776682513428.mp4
-rw-r--r-- 1 lukas staff 634904 20 Apr 14:00 compact_monitor_1_1776682818338.mp4
-rw-r--r-- 1 lukas staff 1582832 20 Apr 14:05 compact_monitor_1_1776683127297.mp4
-rw-r--r-- 1 lukas staff 144970 20 Apr 14:10 compact_monitor_1_1776683431892.mp4
-rw-r--r-- 1 lukas staff 145139 20 Apr 14:15 compact_monitor_1_1776683738252.mp4
-rw-r--r-- 1 lukas staff 2321625 20 Apr 14:20 compact_monitor_1_1776684048360.mp4
-rw-r--r-- 1 lukas staff 3285900 20 Apr 14:26 compact_monitor_1_1776684358328.mp4
-rw-r--r-- 1 lukas staff 2180592 20 Apr 14:31 compact_monitor_1_1776684672448.mp4
-rw-r--r-- 1 lukas staff 1008178 20 Apr 14:36 compact_monitor_1_1776684985706.mp4
-rw-r--r-- 1 lukas staff 6232717 20 Apr 14:41 compact_monitor_1_1776685289456.mp4
-rw-r--r-- 1 lukas staff 1201267 20 Apr 14:46 compact_monitor_1_1776685609078.mp4
-rw-r--r-- 1 lukas staff 697069 20 Apr 14:52 compact_monitor_1_1776685924555.mp4
-rw-r--r-- 1 lukas staff 4205892 20 Apr 14:57 compact_monitor_1_1776686234752.mp4
-rw-r--r-- 1 lukas staff 1734015 20 Apr 15:02 compact_monitor_1_1776686548275.mp4
-rw-r--r-- 1 lukas staff 742602 20 Apr 15:07 compact_monitor_1_1776686874783.mp4
-rw-r--r-- 1 lukas staff 5624641 20 Apr 15:13 compact_monitor_1_1776687183276.mp4
-rw-r--r-- 1 lukas staff 5148295 20 Apr 15:18 compact_monitor_1_1776687502643.mp4
-rw-r--r-- 1 lukas staff 3357773 20 Apr 15:23 compact_monitor_1_1776687821494.mp4
-rw-r--r-- 1 lukas staff 4647742 20 Apr 15:28 compact_monitor_1_1776688128104.mp4
-rw-r--r-- 1 lukas staff 5124594 20 Apr 15:34 compact_monitor_1_1776688435924.mp4
-rw-r--r-- 1 lukas staff 3299421 20 Apr 15:39 compact_monitor_1_1776688745956.mp4
-rw-r--r-- 1 lukas staff 2438350 20 Apr 15:44 compact_monitor_1_1776689051698.mp4
-rw-r--r-- 1 lukas staff 2544311 20 Apr 15:49 compact_monitor_1_1776689358807.mp4
-rw-r--r-- 1 lukas staff 4934970 20 Apr 15:54 compact_monitor_1_1776689666677.mp4
-rw-r--r-- 1 lukas staff 3876837 20 Apr 15:59 compact_monitor_1_1776689975475.mp4
-rw-r--r-- 1 lukas staff 4939907 20 Apr 16:04 compact_monitor_1_1776690284639.mp4
-rw-r--r-- 1 lukas staff 5387913 20 Apr 16:10 compact_monitor_1_1776690597076.mp4
-rw-r--r-- 1 lukas staff 5918302 20 Apr 16:15 compact_monitor_1_1776690904422.mp4
-rw-r--r-- 1 lukas staff 3763719 20 Apr 16:20 compact_monitor_1_1776691212778.mp4
-rw-r--r-- 1 lukas staff 2668710 20 Apr 16:25 compact_monitor_1_1776691518074.mp4
-rw-r--r-- 1 lukas staff 1343489 20 Apr 16:30 compact_monitor_1_1776691827057.mp4
-rw-r--r-- 1 lukas staff 2669705 20 Apr 16:35 compact_monitor_1_1776692135254.mp4
-rw-r--r-- 1 lukas staff 3572963 20 Apr 16:40 compact_monitor_1_1776692442143.mp4
-rw-r--r-- 1 lukas staff 4745615 20 Apr 16:45 compact_monitor_1_1776692748574.mp4
-rw-r--r-- 1 lukas staff 3651920 20 Apr 16:51 compact_monitor_1_1776693058709.mp4
-rw-r--r-- 1 lukas staff 2336269 20 Apr 16:56 compact_monitor_1_1776693372981.mp4
-rw-r--r-- 1 lukas staff 3422245 20 Apr 17:01 compact_monitor_1_1776693680907.mp4
-rw-r--r-- 1 lukas staff 6584256 20 Apr 17:06 compact_monitor_1_1776693988164.mp4
-rw-r--r-- 1 lukas staff 6800476 20 Apr 17:11 compact_monitor_1_1776694300969.mp4
-rw-r--r-- 1 lukas staff 859311 20 Apr 17:16 compact_monitor_1_1776694607311.mp4
-rw-r--r-- 1 lukas staff 1991675 20 Apr 17:21 compact_monitor_1_1776694910016.mp4
-rw-r--r-- 1 lukas staff 670169 20 Apr 18:17 compact_monitor_1_1776698266692.mp4
-rw-r--r-- 1 lukas staff 2064979 20 Apr 18:27 compact_monitor_1_1776698875029.mp4
-rw-r--r-- 1 lukas staff 1765910 20 Apr 18:33 compact_monitor_1_1776699180706.mp4
-rw-r--r-- 1 lukas staff 1832195 20 Apr 18:38 compact_monitor_1_1776699488879.mp4
-rw-r--r-- 1 lukas staff 532237 20 Apr 18:43 compact_monitor_1_1776699797513.mp4
-rw-r--r-- 1 lukas staff 354899 20 Apr 18:47 compact_monitor_1_1776700038195.mp4
-rw-r--r-- 1 lukas staff 426016 20 Apr 18:52 compact_monitor_1_1776700345586.mp4
-rw-r--r-- 1 lukas staff 1502142 21 Apr 09:10 compact_monitor_1_1776751830793.mp4
-rw-r--r-- 1 lukas staff 1151283 20 Apr 09:20 compact_monitor_2_1776666028589.mp4
-rw-r--r-- 1 lukas staff 3922416 20 Apr 09:25 compact_monitor_2_1776666337400.mp4
-rw-r--r-- 1 lukas staff 6099157 20 Apr 09:31 compact_monitor_2_1776666649455.mp4
-rw-r--r-- 1 lukas staff 4465951 20 Apr 09:36 compact_monitor_2_1776666967290.mp4
-rw-r--r-- 1 lukas staff 3546165 20 Apr 09:41 compact_monitor_2_1776667285800.mp4
-rw-r--r-- 1 lukas staff 1917417 20 Apr 09:47 compact_monitor_2_1776667615139.mp4
-rw-r--r-- 1 lukas staff 2954961 20 Apr 09:52 compact_monitor_2_1776667943132.mp4
-rw-r--r-- 1 lukas staff 1934343 20 Apr 09:58 compact_monitor_2_1776668283739.mp4
-rw-r--r-- 1 lukas staff 1177513 20 Apr 10:03 compact_monitor_2_1776668620257.mp4
-rw-r--r-- 1 lukas staff 2147789 20 Apr 10:18 compact_monitor_2_1776669498937.mp4
-rw-r--r-- 1 lukas staff 740309 20 Apr 10:28 compact_monitor_2_1776670109608.mp4
-rw-r--r-- 1 lukas staff 3567504 20 Apr 10:33 compact_monitor_2_1776670417134.mp4
-rw-r--r-- 1 lukas staff 2982135 20 Apr 10:38 compact_monitor_2_1776670723346.mp4
-rw-r--r-- 1 lukas staff 3348097 20 Apr 10:43 compact_monitor_2_1776671030235.mp4
-rw-r--r-- 1 lukas staff 2837678 20 Apr 10:49 compact_monitor_2_1776671338266.mp4
-rw-r--r-- 1 lukas staff 2233867 20 Apr 10:54 compact_monitor_2_1776671646503.mp4
-rw-r--r-- 1 lukas staff 4947326 20 Apr 10:59 compact_monitor_2_1776671950567.mp4
-rw-r--r-- 1 lukas staff 5266402 20 Apr 11:04 compact_monitor_2_1776672263365.mp4
-rw-r--r-- 1 lukas staff 3801403 20 Apr 11:09 compact_monitor_2_1776672575558.mp4
-rw-r--r-- 1 lukas staff 6986490 20 Apr 11:14 compact_monitor_2_1776672883717.mp4
-rw-r--r-- 1 lukas staff 6043634 20 Apr 11:20 compact_monitor_2_1776673199069.mp4
-rw-r--r-- 1 lukas staff 3820880 20 Apr 11:25 compact_monitor_2_1776673514302.mp4
-rw-r--r-- 1 lukas staff 6492119 20 Apr 11:30 compact_monitor_2_1776673828645.mp4
-rw-r--r-- 1 lukas staff 3132510 20 Apr 11:35 compact_monitor_2_1776674137449.mp4
-rw-r--r-- 1 lukas staff 3612810 20 Apr 11:40 compact_monitor_2_1776674447649.mp4
-rw-r--r-- 1 lukas staff 4349270 20 Apr 11:46 compact_monitor_2_1776674758735.mp4
-rw-r--r-- 1 lukas staff 2397151 20 Apr 11:51 compact_monitor_2_1776675081239.mp4
-rw-r--r-- 1 lukas staff 2608050 20 Apr 11:56 compact_monitor_2_1776675389836.mp4
-rw-r--r-- 1 lukas staff 4271268 20 Apr 12:01 compact_monitor_2_1776675697375.mp4
-rw-r--r-- 1 lukas staff 2737153 20 Apr 12:06 compact_monitor_2_1776676012452.mp4
-rw-r--r-- 1 lukas staff 6545978 20 Apr 12:12 compact_monitor_2_1776676319355.mp4
-rw-r--r-- 1 lukas staff 2249881 20 Apr 12:17 compact_monitor_2_1776676627546.mp4
-rw-r--r-- 1 lukas staff 1995078 20 Apr 12:22 compact_monitor_2_1776676937565.mp4
-rw-r--r-- 1 lukas staff 3219551 20 Apr 12:27 compact_monitor_2_1776677245735.mp4
-rw-r--r-- 1 lukas staff 4294306 20 Apr 12:32 compact_monitor_2_1776677559935.mp4
-rw-r--r-- 1 lukas staff 4436497 20 Apr 12:37 compact_monitor_2_1776677872661.mp4
-rw-r--r-- 1 lukas staff 2697561 20 Apr 12:43 compact_monitor_2_1776678182031.mp4
-rw-r--r-- 1 lukas staff 2771589 20 Apr 12:48 compact_monitor_2_1776678492118.mp4
-rw-r--r-- 1 lukas staff 6696423 20 Apr 12:53 compact_monitor_2_1776678803761.mp4
-rw-r--r-- 1 lukas staff 5464611 20 Apr 12:58 compact_monitor_2_1776679111812.mp4
-rw-r--r-- 1 lukas staff 7181188 20 Apr 13:03 compact_monitor_2_1776679423402.mp4
-rw-r--r-- 1 lukas staff 5123182 20 Apr 13:08 compact_monitor_2_1776679731833.mp4
-rw-r--r-- 1 lukas staff 5654139 20 Apr 13:14 compact_monitor_2_1776680041318.mp4
-rw-r--r-- 1 lukas staff 3710649 20 Apr 13:19 compact_monitor_2_1776680352572.mp4
-rw-r--r-- 1 lukas staff 637175 20 Apr 13:40 compact_monitor_2_1776681604586.mp4
-rw-r--r-- 1 lukas staff 1331158 20 Apr 13:50 compact_monitor_2_1776682207482.mp4
-rw-r--r-- 1 lukas staff 2470366 20 Apr 13:55 compact_monitor_2_1776682515468.mp4
-rw-r--r-- 1 lukas staff 3743514 20 Apr 14:00 compact_monitor_2_1776682820185.mp4
-rw-r--r-- 1 lukas staff 1845046 20 Apr 14:05 compact_monitor_2_1776683129378.mp4
-rw-r--r-- 1 lukas staff 4349352 20 Apr 14:10 compact_monitor_2_1776683433639.mp4
-rw-r--r-- 1 lukas staff 6169839 20 Apr 14:15 compact_monitor_2_1776683740511.mp4
-rw-r--r-- 1 lukas staff 7618797 20 Apr 14:20 compact_monitor_2_1776684052092.mp4
-rw-r--r-- 1 lukas staff 5221568 20 Apr 14:26 compact_monitor_2_1776684362336.mp4
-rw-r--r-- 1 lukas staff 4891906 20 Apr 14:31 compact_monitor_2_1776684674762.mp4
-rw-r--r-- 1 lukas staff 705871 20 Apr 14:36 compact_monitor_2_1776684986928.mp4
-rw-r--r-- 1 lukas staff 3797177 20 Apr 14:41 compact_monitor_2_1776685297300.mp4
-rw-r--r-- 1 lukas staff 5206650 20 Apr 14:46 compact_monitor_2_1776685613835.mp4
-rw-r--r-- 1 lukas staff 3560709 20 Apr 14:52 compact_monitor_2_1776685927877.mp4
-rw-r--r-- 1 lukas staff 3054774 20 Apr 14:57 compact_monitor_2_1776686237953.mp4
-rw-r--r-- 1 lukas staff 5624059 20 Apr 15:02 compact_monitor_2_1776686554842.mp4
-rw-r--r-- 1 lukas staff 981456 20 Apr 15:02 compact_monitor_2_1776686566986.mp4
-rw-r--r-- 1 lukas staff 3813865 20 Apr 15:08 compact_monitor_2_1776686877747.mp4
-rw-r--r-- 1 lukas staff 4434608 20 Apr 15:13 compact_monitor_2_1776687192583.mp4
-rw-r--r-- 1 lukas staff 1912795 20 Apr 15:18 compact_monitor_2_1776687512417.mp4
-rw-r--r-- 1 lukas staff 362639 20 Apr 15:23 compact_monitor_2_1776687826917.mp4
-rw-r--r-- 1 lukas staff 2587214 20 Apr 15:28 compact_monitor_2_1776688132900.mp4
-rw-r--r-- 1 lukas staff 4444884 20 Apr 15:34 compact_monitor_2_1776688441330.mp4
-rw-r--r-- 1 lukas staff 2273805 20 Apr 15:39 compact_monitor_2_1776688749248.mp4
-rw-r--r-- 1 lukas staff 1472500 20 Apr 15:44 compact_monitor_2_1776689055232.mp4
-rw-r--r-- 1 lukas staff 773818 20 Apr 15:49 compact_monitor_2_1776689362170.mp4
-rw-r--r-- 1 lukas staff 2559460 20 Apr 15:54 compact_monitor_2_1776689672041.mp4
-rw-r--r-- 1 lukas staff 2344294 20 Apr 15:59 compact_monitor_2_1776689979563.mp4
-rw-r--r-- 1 lukas staff 4007787 20 Apr 16:04 compact_monitor_2_1776690291326.mp4
-rw-r--r-- 1 lukas staff 1819239 20 Apr 16:10 compact_monitor_2_1776690601791.mp4
-rw-r--r-- 1 lukas staff 2353532 20 Apr 16:15 compact_monitor_2_1776690909468.mp4
-rw-r--r-- 1 lukas staff 838923 20 Apr 16:20 compact_monitor_2_1776691216464.mp4
-rw-r--r-- 1 lukas staff 392421 20 Apr 16:25 compact_monitor_2_1776691524797.mp4
-rw-r--r-- 1 lukas staff 419825 20 Apr 16:30 compact_monitor_2_1776691830343.mp4
-rw-r--r-- 1 lukas staff 1311278 20 Apr 16:35 compact_monitor_2_1776692138776.mp4
-rw-r--r-- 1 lukas staff 2113227 20 Apr 16:40 compact_monitor_2_1776692445996.mp4
-rw-r--r-- 1 lukas staff 2836435 20 Apr 16:45 compact_monitor_2_1776692753037.mp4
-rw-r--r-- 1 lukas staff 896192 20 Apr 16:51 compact_monitor_2_1776693062948.mp4
-rw-r--r-- 1 lukas staff 430668 20 Apr 16:56 compact_monitor_2_1776693378064.mp4
-rw-r--r-- 1 lukas staff 5400273 20 Apr 17:01 compact_monitor_2_1776693684394.mp4
-rw-r--r-- 1 lukas staff 11097706 20 Apr 17:06 compact_monitor_2_1776693994199.mp4
-rw-r--r-- 1 lukas staff 2777663 20 Apr 17:11 compact_monitor_2_1776694304409.mp4
-rw-r--r-- 1 lukas staff 1170557 20 Apr 17:16 compact_monitor_2_1776694608505.mp4
-rw-r--r-- 1 lukas staff 1670866 20 Apr 17:21 compact_monitor_2_1776694911248.mp4
-rw-r--r-- 1 lukas staff 894067 20 Apr 18:17 compact_monitor_2_1776698268984.mp4
-rw-r--r-- 1 lukas staff 145618 20 Apr 18:27 compact_monitor_2_1776698876572.mp4
-rw-r--r-- 1 lukas staff 3307440 20 Apr 18:33 compact_monitor_2_1776699183611.mp4
-rw-r--r-- 1 lukas staff 3178239 20 Apr 18:38 compact_monitor_2_1776699492586.mp4
-rw-r--r-- 1 lukas staff 4180957 20 Apr 18:43 compact_monitor_2_1776699800287.mp4
-rw-r--r-- 1 lukas staff 2802374 20 Apr 18:47 compact_monitor_2_1776700041626.mp4
-rw-r--r-- 1 lukas staff 3153626 20 Apr 18:52 compact_monitor_2_1776700348038.mp4
-rw-r--r-- 1 lukas staff 755181 21 Apr 09:10 compact_monitor_2_1776751832783.mp4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/data/data/2026-04-20 $ cd ..
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 $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:15] ========================================
[2026-04-21 10:40:15] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:15] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
[2026-04-21 10:40:15] ERROR: NAS not mounted at /Volumes/Test/screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-04-20
[2026-04-21 10:40:39] ========================================
[2026-04-21 10:40:39] Screenpipe sync starting for: 2026-04-20
[2026-04-21 10:40:39] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.5G)
NAS mount: OK /Volumes/Test/screenpipe
Archive DB: exists (3.0G)
Data dir: OK (192 files, 501M)
[+00m03s] ▶ Counting source rows for 2026-04-20
frames: 9093
elements: 687142
ui_events: 9970
ocr_text: 5971
meetings: 2
[+00m03s] ▶ Initialising tables, indexes, FTS
creating tables ✓ 0m00s
creating indexes ✓ 0m01s
creating FTS tables ✓ 0m00s
[+00m04s] ▶ Syncing data for 2026-04-20
video_chunks ✓ 0m00s
frames (9093 rows) ✓ 1m20s
ocr_text (5971 rows) ✓ 0m48s
ui_events (9970 rows) ✓ 0m01s
elements (687142 rows) ✓ 0m48s
meetings (2 rows) ✓ 0m00s
[+03m01s] ▶ Updating FTS indexes
elements_fts ✓ 1m27s
frames_fts ✓ 2m10s
ui_events_fts ✓ 0m03s
[+06m41s] ▶ Verifying DB
frames: 9093 / 9093 ✓
elements: 687142 / 687142 ✓
ui_events: 9970 / 9970 ✓
ocr_text: 5971 / 5971 ✓
meetings: 2 / 2 ✓
[+07m44s] ▶ Copying data folder for 2026-04-20
rsync 2026-04-20/ → NAS ✓ 0m31s (192 files, 501M)
[2026-04-21 10:48:54] Archive DB size: 3.8G
[2026-04-21 10:48:54] Total time: 8m15s
[2026-04-21 10:48:54] Sync complete for 2026-04-20
[2026-04-21 10:48:54] ========================================
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
11G /Users/lukas/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (node)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
68468
|
|
68471
|
1552
|
0
|
2026-04-22T06:15:22.092533+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838522092_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-04-21T16:39:00.685917Z INFO screenpipe_engin 2026-04-21T16:39:00.685917Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3077590213613135779, trigger=click)
2026-04-21T16:39:09.669053Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6113312556119042207, trigger=click)
2026-04-21T16:39:28.954550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:39:29.084826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=869328293033429183, trigger=click)
2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:37.082813Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=50 elapsed=2.555752875s
2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted
2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted
2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-15...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-04-21T16:39:00.685917Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3077590213613135779, trigger=click)\n2026-04-21T16:39:09.669053Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6113312556119042207, trigger=click)\n2026-04-21T16:39:28.954550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:39:29.084826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=869328293033429183, trigger=click)\n2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:37.082813Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.555752875s\n2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted\n2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted\n2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)","depth":4,"value":"2026-04-21T16:39:00.685917Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3077590213613135779, trigger=click)\n2026-04-21T16:39:09.669053Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6113312556119042207, trigger=click)\n2026-04-21T16:39:28.954550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:39:29.084826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=869328293033429183, trigger=click)\n2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:37.082813Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.555752875s\n2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted\n2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted\n2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"role_description":"text"}]...
|
3558907359085593749
|
2646348668002215291
|
manual
|
accessibility
|
NULL
|
2026-04-21T16:39:00.685917Z INFO screenpipe_engin 2026-04-21T16:39:00.685917Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3077590213613135779, trigger=click)
2026-04-21T16:39:09.669053Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6113312556119042207, trigger=click)
2026-04-21T16:39:28.954550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:39:29.084826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=869328293033429183, trigger=click)
2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:37.082813Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=50 elapsed=2.555752875s
2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted
2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted
2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-15...
|
NULL
|
|
68472
|
1553
|
0
|
2026-04-22T06:15:22.420295+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838522420_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-04-21T16:39:28.954550Z INFO screenpipe_engin 2026-04-21T16:39:28.954550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:39:29.084826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=869328293033429183, trigger=click)
2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:37.082813Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=50 elapsed=2.555752875s
2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted
2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted
2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for mon...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-04-21T16:39:28.954550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:39:29.084826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=869328293033429183, trigger=click)\n2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:37.082813Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.555752875s\n2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted\n2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted\n2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)","depth":4,"value":"2026-04-21T16:39:28.954550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:39:29.084826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=869328293033429183, trigger=click)\n2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:37.082813Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.555752875s\n2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted\n2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted\n2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4956782,"top":1.0,"width":0.027925532,"height":-0.02394259},"role_description":"text"}]...
|
-6789575939832249155
|
2646348668002215289
|
manual
|
accessibility
|
NULL
|
2026-04-21T16:39:28.954550Z INFO screenpipe_engin 2026-04-21T16:39:28.954550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:39:29.084826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=869328293033429183, trigger=click)
2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:37.082813Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=50 elapsed=2.555752875s
2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted
2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted
2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for mon...
|
NULL
|
|
68473
|
1552
|
1
|
2026-04-22T06:15:24.954243+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838524954_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-04-21T16:39:31.752392Z INFO screenpipe_engin 2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:37.082813Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=50 elapsed=2.555752875s
2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted
2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted
2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skippi...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:37.082813Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.555752875s\n2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted\n2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted\n2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:23.856559Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms\n2026-04-22T09:15:23.858032Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2","depth":4,"value":"2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)\n2026-04-21T16:39:37.082813Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.555752875s\n2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted\n2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted\n2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)\n2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:23.856559Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms\n2026-04-22T09:15:23.858032Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"role_description":"text"}]...
|
4638311473313561985
|
2646348668002215289
|
visual_change
|
accessibility
|
NULL
|
2026-04-21T16:39:31.752392Z INFO screenpipe_engin 2026-04-21T16:39:31.752392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:31.941130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4079194444055345358, trigger=click)
2026-04-21T16:39:37.082813Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=50 elapsed=2.555752875s
2026-04-21T16:39:37.082914Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-04-21T16:39:39.896800Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (4.9x), 24 JPEGs deleted
2026-04-21T16:39:42.979598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.6MB → 1.9MB (2.5x), 24 JPEGs deleted
2026-04-21T16:39:54.138147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=869328293033429183, trigger=click)
2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skippi...
|
68471
|
|
68474
|
1552
|
2
|
2026-04-22T06:15:28.039890+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838528039_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-04-21T16:41:34.967355Z INFO screenpipe_engin 2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:48.638819...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:23.856559Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms\n2026-04-22T09:15:23.858032Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-04-22T09:15:25.542035Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=7744 elapsed=4.771776083s\n2026-04-22T09:15:25.568771Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 7744 frame entries, coverage from 2026-04-21 06:15:20.769785 UTC","depth":4,"value":"2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:23.856559Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms\n2026-04-22T09:15:23.858032Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-04-22T09:15:25.542035Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=7744 elapsed=4.771776083s\n2026-04-22T09:15:25.568771Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 7744 frame entries, coverage from 2026-04-21 06:15:20.769785 UTC","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"role_description":"text"}]...
|
-6925786283960583444
|
2646348668002215289
|
visual_change
|
accessibility
|
NULL
|
2026-04-21T16:41:34.967355Z INFO screenpipe_engin 2026-04-21T16:41:34.967355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:48.638819...
|
NULL
|
|
68479
|
1553
|
3
|
2026-04-22T06:15:36.819054+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838536819_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-04-21T16:41:35.133385Z INFO screenpipe_engin 2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:54...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:23.856559Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms\n2026-04-22T09:15:23.858032Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-04-22T09:15:25.542035Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=7744 elapsed=4.771776083s\n2026-04-22T09:15:25.568771Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 7744 frame entries, coverage from 2026-04-21 06:15:20.769785 UTC\n2026-04-22T09:15:32.415224Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)","depth":4,"value":"2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)\n2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)\n2026-04-21T16:44:45.410923Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=35 elapsed=2.419201375s\n2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames\n2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted\n2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted\n2026-04-21T16:49:53.308820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:23.856559Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms\n2026-04-22T09:15:23.858032Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-04-22T09:15:25.542035Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=7744 elapsed=4.771776083s\n2026-04-22T09:15:25.568771Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 7744 frame entries, coverage from 2026-04-21 06:15:20.769785 UTC\n2026-04-22T09:15:32.415224Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4956782,"top":1.0,"width":0.027925532,"height":-0.02394259},"role_description":"text"}]...
|
5525956522504332492
|
2646348668002215289
|
app_switch
|
accessibility
|
NULL
|
2026-04-21T16:41:35.133385Z INFO screenpipe_engin 2026-04-21T16:41:35.133385Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T16:43:15.919099Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8254246256813675665, trigger=click)
2026-04-21T16:43:44.014066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8254246256813675665, trigger=visual_change)
2026-04-21T16:44:45.410923Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=35 elapsed=2.419201375s
2026-04-21T16:44:45.411045Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 35 eligible frames
2026-04-21T16:44:46.383629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.3MB (9.5x), 15 JPEGs deleted
2026-04-21T16:44:47.792527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.6MB → 0.8MB (4.3x), 18 JPEGs deleted
2026-04-21T16:49:53.308820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:54...
|
NULL
|
|
68524
|
1554
|
11
|
2026-04-22T06:17:42.176037+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838662176_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FROM\n frames\nWHERE\n snapshot_path IS NOT NULL FROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:53:46.867091Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=116 elapsed=2.178958s
2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames
2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)
2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted
2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=clic...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"FROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:23.856559Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms\n2026-04-22T09:15:23.858032Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-04-22T09:15:25.542035Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=7744 elapsed=4.771776083s\n2026-04-22T09:15:25.568771Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 7744 frame entries, coverage from 2026-04-21 06:15:20.769785 UTC\n2026-04-22T09:15:32.415224Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:41.941919Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=357539612469251678, trigger=click)\n2026-04-22T09:15:43.170779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=357539612469251678, trigger=visual_change)\n2026-04-22T09:16:22.411707Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5959696770819639860, trigger=visual_change)\n2026-04-22T09:16:26.239896Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=5.530699458s\n2026-04-22T09:16:26.240084Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-22T09:16:28.044386Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.7MB → 0.2MB (19.7x), 30 JPEGs deleted\n2026-04-22T09:16:30.086623Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.3MB → 0.1MB (30.2x), 30 JPEGs deleted\n2026-04-22T09:16:31.962480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5959696770819639860, trigger=visual_change)","depth":4,"value":"FROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=5.487768917s\n2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted\n2026-04-21T16:54:59.385017Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=3.057419917s\n2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted\n2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted\n2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording\n2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-21T17:24:30.699969Z 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-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording\n2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms\n2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)\n2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)\n2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:15.806839Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=44 elapsed=5.777403s\n2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames\n2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted\n2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted\n2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)\n2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)\n2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)\n2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)\n2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)\n2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)\n2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)\n2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)\n2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)\n2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)\n2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)\n2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)\n2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)\n2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)\n2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:23.042830Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=3.882772625s\n2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted\n2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted\n2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)\n2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)\n2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)\n2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)\n2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)\n2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)\n2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)\n2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)\n2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)\n2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)\n2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)\n2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)\n2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)\n2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)\n2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)\n2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)\n2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)\n2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)\n2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)\n2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)\n2026-04-21T17:43:31.769731Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.870364084s\n2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted\n2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted\n2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)\n2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)\n2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)\n2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)\n2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)\n2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)\n2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)\n2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)\n2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)\n2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)\n2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)\n2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)\n2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)\n2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)\n2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:39.363585Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=83 elapsed=4.983598708s\n2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames\n2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted\n2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted\n2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)\n2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)\n2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)\n2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)\n2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)\n2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)\n2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)\n2026-04-21T17:53:46.867091Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=116 elapsed=2.178958s\n2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames\n2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted\n2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:53:53.983042Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 9.0MB → 2.6MB (3.5x), 58 JPEGs deleted\n2026-04-21T17:53:56.223709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:25.250317Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:25.727105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T17:54:32.633019Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:33.984547Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:35.401305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:35.511290Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.494935Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:38.630637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:41.245537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:45.441966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:54:50.148639Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:50.313941Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.769427Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:51.915582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=click)\n2026-04-21T17:54:58.755543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:01.758776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)\n2026-04-21T17:55:25.745659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3428322026263856254, trigger=click)\n2026-04-21T17:55:27.298490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:33.297808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3428322026263856254, trigger=visual_change)\n2026-04-21T17:55:48.491529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:49.809101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:55:54.025243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:54.165626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7233070170495400552, trigger=click)\n2026-04-21T17:55:58.086411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1463712168180952345, trigger=visual_change)\n2026-04-21T17:56:04.943502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7233070170495400552, trigger=visual_change)\n2026-04-21T17:57:22.021701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:23.588692Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:30.517012Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:31.818301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:31.972732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:40.727074Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:42.330179Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:42.494853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:45.528669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=visual_change)\n2026-04-21T17:57:46.132479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:57:46.358876Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4654731704120970079, trigger=click)\n2026-04-21T17:58:36.946109Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6074307134448385817, trigger=visual_change)\n2026-04-21T17:58:57.225929Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=117 elapsed=3.2365965s\n2026-04-21T17:58:57.226687Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 117 eligible frames\n2026-04-21T17:59:01.078632Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.8MB → 4.3MB (3.0x), 58 JPEGs deleted\n2026-04-21T17:59:04.938676Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 57 frames, 10.8MB → 4.0MB (2.7x), 57 JPEGs deleted\n2026-04-21T18:00:27.589643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:28.469646Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=visual_change)\n2026-04-21T18:00:37.318027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.194585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:00:42.367049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9170086261988994041, trigger=click)\n2026-04-21T18:01:07.200973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.642294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:08.873831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:09.931490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:10.189484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:11.594292Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=visual_change)\n2026-04-21T18:01:12.844254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:13.095866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)\n2026-04-21T18:01:49.712611Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:49.878502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5610420548393517496, trigger=click)\n2026-04-21T18:01:54.385999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4075180225844497251, trigger=click)\n2026-04-21T18:02:03.320721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:04.589973Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:06.402101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:08.459207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:17.915785Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:20.289378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:53.363091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2385966524984094377, trigger=visual_change)\n2026-04-21T18:02:59.854804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6485088808083200508, trigger=visual_change)\n2026-04-21T18:03:23.692602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:03:38.383745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:38.666324Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:03:40.611795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:46.691879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:49.696169Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:03:58.796193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:10.455866Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=65 elapsed=5.507644708s\n2026-04-21T18:04:10.456994Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 65 eligible frames\n2026-04-21T18:04:10.784720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:12.979583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.1MB → 3.1MB (2.6x), 36 JPEGs deleted\n2026-04-21T18:04:13.808201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:15.311040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 2.1MB (2.7x), 27 JPEGs deleted\n2026-04-21T18:04:22.870405Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:25.858949Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:04:47.178867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:47.409147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.621959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:48.823996Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.613197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:49.840589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.113636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:54.333250Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.158603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:04:56.345340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:24.653256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:27.506644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2923142241079919801, trigger=visual_change)\n2026-04-21T18:05:52.127185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:52.385537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.464579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:05:54.740600Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:01.884193Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:04.917243Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:06:15.788550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:16.090123Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6532606308203292909, trigger=click)\n2026-04-21T18:06:17.179267Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6532606308203292909, trigger=visual_change)\n2026-04-21T18:07:04.992532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:08.003078Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.121489Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:17.302355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:27.025619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:29.771279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:31.137970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:36.086848Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:36.306717Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:07:37.369851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:37.634865Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:38.805129Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:39.104738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:07:40.060624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:08:30.262801Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8009497465838817994, trigger=visual_change)\n2026-04-21T18:08:45.022177Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8543293535466770858, trigger=click)\n2026-04-21T18:09:22.083704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=74 elapsed=6.715953125s\n2026-04-21T18:09:22.084245Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 74 eligible frames\n2026-04-21T18:09:29.000281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 9.6MB → 4.0MB (2.4x), 43 JPEGs deleted\n2026-04-21T18:09:33.280652Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 29 frames, 5.8MB → 1.9MB (3.1x), 29 JPEGs deleted\n2026-04-21T18:10:45.149443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8009497465838817994, trigger=click)\n2026-04-21T18:11:39.313378Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=visual_change)\n2026-04-21T18:11:42.305757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.031853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:11:46.095029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=745086096190842156, trigger=click)\n2026-04-21T18:14:41.494244Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=68 elapsed=8.195880125s\n2026-04-21T18:14:41.495608Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-04-21T18:14:48.613051Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.2MB → 3.4MB (2.5x), 36 JPEGs deleted\n2026-04-21T18:14:55.232583Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.5MB → 2.6MB (2.1x), 30 JPEGs deleted\n2026-04-21T18:19:19.967211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:20.363463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2899189334056575250, trigger=click)\n2026-04-21T18:19:59.298075Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=53 elapsed=4.000910792s\n2026-04-21T18:19:59.298190Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 53 eligible frames\n2026-04-21T18:20:02.044649Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 5.1MB → 3.5MB (1.5x), 26 JPEGs deleted\n2026-04-21T18:20:04.900441Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 4.7MB → 2.4MB (1.9x), 25 JPEGs deleted\n2026-04-21T18:20:23.742659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:27.660528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:34.896769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:35.220946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:40.886719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:44.353070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:47.046701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:20:48.003863Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:22:59.673927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2006451494811625283, trigger=click)\n2026-04-21T18:23:02.374154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2006451494811625283, trigger=visual_change)\n2026-04-21T18:24:55.480969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:24:55.713808Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T18:25:06.770660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=745086096190842156, trigger=click)\n2026-04-21T18:25:10.431473Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=69 elapsed=5.123936292s\n2026-04-21T18:25:10.432665Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 69 eligible frames\n2026-04-21T18:25:12.020960Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 0.4MB (10.8x), 24 JPEGs deleted\n2026-04-21T18:25:16.809118Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 43 frames, 7.5MB → 3.7MB (2.0x), 43 JPEGs deleted\n2026-04-21T18:27:20.032159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-868697608726996264, trigger=click)\n2026-04-21T18:27:27.209581Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:30:23.556529Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=60 elapsed=6.732438875s\n2026-04-21T18:30:23.556849Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-04-21T18:30:25.836587Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.3MB → 0.4MB (12.5x), 27 JPEGs deleted\n2026-04-21T18:30:29.251794Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 5.4MB → 2.7MB (2.0x), 31 JPEGs deleted\n2026-04-21T18:34:42.383568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1898158487632236470, trigger=click)\n2026-04-21T18:35:29.435858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T18:35:31.507303Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 6.8MB → 0.3MB (21.3x), 35 JPEGs deleted\n2026-04-21T18:35:34.821718Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 8.8MB → 3.6MB (2.4x), 47 JPEGs deleted\n2026-04-21T18:37:57.032414Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3231955623713121874, trigger=click)\n2026-04-21T18:40:36.969380Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=205 elapsed=2.13815675s\n2026-04-21T18:40:36.969491Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 205 eligible frames\n2026-04-21T18:40:42.234686Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 90 frames, 17.5MB → 0.4MB (49.4x), 90 JPEGs deleted\n2026-04-21T18:40:48.296945Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 99 frames, 14.9MB → 5.7MB (2.6x), 99 JPEGs deleted\n2026-04-21T18:40:49.626073Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 1.8MB → 0.7MB (2.8x), 14 JPEGs deleted\n2026-04-21T18:41:16.858046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:18.719527Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:41:20.650032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6762752836329409782, trigger=click)\n2026-04-21T18:42:40.957654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7949512313665335161, trigger=visual_change)\n2026-04-21T18:42:42.714242Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7949512313665335161, trigger=click)\n2026-04-21T18:44:54.833923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:44:55.013934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7610506607449357182, trigger=click)\n2026-04-21T18:45:54.320505Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=145 elapsed=4.6846185s\n2026-04-21T18:45:54.321215Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 145 eligible frames\n2026-04-21T18:45:58.288822Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 64 frames, 12.5MB → 0.5MB (23.2x), 64 JPEGs deleted\n2026-04-21T18:46:02.956701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 78 frames, 11.5MB → 3.3MB (3.5x), 78 JPEGs deleted\n2026-04-21T18:48:10.510139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4242937607805845066, trigger=click)\n2026-04-21T18:48:37.207446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5152173808593872338, trigger=visual_change)\n2026-04-21T18:49:27.537635Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5244088376274895156, trigger=click)\n2026-04-21T18:49:33.724367Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5262134208844209929, trigger=click)\n2026-04-21T18:49:44.747739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8298107678328947062, trigger=click)\n2026-04-21T18:50:45.073176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:45.427101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:48.592273Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:50:49.492676Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:01.193858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2709523957012057259, trigger=click)\n2026-04-21T18:51:05.888682Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=50 elapsed=2.917680375s\n2026-04-21T18:51:05.889014Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-04-21T18:51:06.016628Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=2.157649083s\n2026-04-21T18:51:06.079565Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.385088167s\n2026-04-21T18:51:07.829374Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.9MB → 0.4MB (11.0x), 20 JPEGs deleted\n2026-04-21T18:51:09.736739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.0MB → 1.8MB (2.7x), 28 JPEGs deleted\n2026-04-21T18:51:22.360027Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:22.556670Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2872311122120998867, trigger=click)\n2026-04-21T18:51:38.819030Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7947558874471225541, trigger=click)\n2026-04-21T18:51:57.414061Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.012068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:51:59.285931Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:01.767745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:02.028355Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:05.460776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=visual_change)\n2026-04-21T18:52:07.087479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:07.314492Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.214922Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:10.537340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:13.867159Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:14.152331Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:20.367281Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6109303526921516150, trigger=click)\n2026-04-21T18:52:26.127826Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1650348556715134220, trigger=click)\n2026-04-21T18:52:37.517700Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=visual_change)\n2026-04-21T18:52:42.329057Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:42.556779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.386173Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:44.700511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:52:45.210674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:53:17.193415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=visual_change)\n2026-04-21T18:53:30.834059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-228480120308125164, trigger=click)\n2026-04-21T18:53:38.030882Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7225077546439863627, trigger=click)\n2026-04-21T18:53:56.421537Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6437320026671683644, trigger=click)\n2026-04-21T18:54:11.726528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1667437155962702753, trigger=visual_change)\n2026-04-21T18:54:12.117525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1667437155962702753, trigger=click)\n2026-04-21T18:54:18.659686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:19.077258Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:54:29.973760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5138765120179784856, trigger=click)\n2026-04-21T18:56:07.789768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:08.791400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6757993062848436258, trigger=click)\n2026-04-21T18:56:14.153615Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=80 elapsed=4.402661042s\n2026-04-21T18:56:14.153722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 80 eligible frames\n2026-04-21T18:56:16.685912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 6.2MB → 0.7MB (8.9x), 32 JPEGs deleted\n2026-04-21T18:56:21.263739Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.2MB → 2.8MB (2.9x), 46 JPEGs deleted\n2026-04-21T18:56:25.279306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7906564822731502105, trigger=click)\n2026-04-21T18:56:33.734840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:33.980908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:35.972959Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8817586097865472869, trigger=click)\n2026-04-21T18:56:40.545963Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=click)\n2026-04-21T18:56:41.913814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8587160525579598601, trigger=visual_change)\n2026-04-21T18:56:45.516942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:48.740431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.439568Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:56:50.692218Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1910160977377320534, trigger=click)\n2026-04-21T18:57:12.321118Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:12.578681Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.290583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:24.543696Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:34.571768Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.227688Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:36.475151Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.338601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:42.559967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:52.824809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:53.145543Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.463043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:57:59.717475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:00.742137Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:58:01.061497Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2149022384044090806, trigger=click)\n2026-04-21T18:59:33.960291Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9203182216527106315, trigger=visual_change)\n2026-04-21T18:59:55.990167Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T18:59:59.103830Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=visual_change)\n2026-04-21T19:00:16.116927Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:45.352689Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:49.596644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:00:50.432181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:07.992732Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:08.484066Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:10.538762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:18.922398Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-78492768815758549, trigger=click)\n2026-04-21T19:01:28.361625Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=84 elapsed=6.9360265s\n2026-04-21T19:01:28.362070Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 84 eligible frames\n2026-04-21T19:01:32.723075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 6.4MB → 0.3MB (19.7x), 33 JPEGs deleted\n2026-04-21T19:01:42.130490Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 49 frames, 7.8MB → 3.3MB (2.4x), 49 JPEGs deleted\n2026-04-21T19:02:09.991879Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.577587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:12.835924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:15.635601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:18.720475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:21.708351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:22.061150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5439226101732026402, trigger=click)\n2026-04-21T19:02:28.684303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3995027160269120472, trigger=click)\n2026-04-21T19:02:41.434491Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:41.724904Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.112974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:43.410843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.501924Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:47.761592Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.205542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:54.441326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.601490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:02:56.921256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:15.988643Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:16.236342Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:03:28.508616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:00.462064Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.516168Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:01.856315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.246448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:03.735029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:04:09.818135Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-958508655227916417, trigger=click)\n2026-04-21T19:05:03.118616Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:03.393788Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:21.352722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=visual_change)\n2026-04-21T19:05:43.751309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:44.029500Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.626672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:45.899754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.206587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:05:48.449043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2260714323069432116, trigger=click)\n2026-04-21T19:06:22.834938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7947558874471225541, trigger=click)\n2026-04-21T19:06:52.937779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=114 elapsed=10.747243125s\n2026-04-21T19:06:52.938152Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 114 eligible frames\n2026-04-21T19:06:57.942457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 8.8MB → 0.3MB (27.2x), 45 JPEGs deleted\n2026-04-21T19:07:05.853054Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 67 frames, 10.5MB → 5.2MB (2.0x), 67 JPEGs deleted\n2026-04-21T19:07:45.088797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:07:48.052391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6936634780821666458, trigger=click)\n2026-04-21T19:08:59.593467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5629560013928052473, trigger=click)\n2026-04-21T19:09:29.443711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:42.998313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8043719072324535154, trigger=visual_change)\n2026-04-21T19:09:50.759516Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.052544Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:51.892698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:52.651776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.476431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:09:55.898195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:09:58.077337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:01.103980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:10:03.105423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:03.448049Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:10:08.548130Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6051188157141408655, trigger=click)\n2026-04-21T19:12:12.330759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=70 elapsed=6.458002417s\n2026-04-21T19:12:12.332545Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 70 eligible frames\n2026-04-21T19:12:14.243079Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 28 frames, 5.5MB → 0.3MB (17.2x), 28 JPEGs deleted\n2026-04-21T19:12:17.558334Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 40 frames, 7.4MB → 3.6MB (2.1x), 40 JPEGs deleted\n2026-04-21T19:16:51.045938Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:16:51.249993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1370319459641728815, trigger=click)\n2026-04-21T19:17:21.603564Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=40 elapsed=4.036037791s\n2026-04-21T19:17:21.604357Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames\n2026-04-21T19:17:22.750174Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 3.5MB → 0.3MB (11.2x), 18 JPEGs deleted\n2026-04-21T19:17:24.332098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 4.2MB → 1.3MB (3.2x), 20 JPEGs deleted\n2026-04-21T19:22:25.748871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=49 elapsed=1.406664416s\n2026-04-21T19:22:25.749095Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-04-21T19:22:27.704722Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 3.7MB → 0.8MB (4.5x), 22 JPEGs deleted\n2026-04-21T19:22:29.535330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.2MB → 1.7MB (3.0x), 25 JPEGs deleted\n2026-04-21T19:23:29.233846Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:31.995034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:37.213396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:40.288223Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:44.197738Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9146581369053060363, trigger=visual_change)\n2026-04-21T19:23:45.228572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9146581369053060363, trigger=click)\n2026-04-21T19:23:56.251033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:06.580019Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=335 elapsed=1.644312167s\n2026-04-21T19:24:28.860436Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.226944Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:24:32.476075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:03.902521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:19.205245Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:25.098627Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:36.013866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:37.355954Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:41.831265Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:25:46.247585Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:46.619106Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.284769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:48.534452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.421920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:49.752264Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:54.600720Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:25:55.072357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:19.446041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:26:22.718352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:27:38.437704Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=28 elapsed=8.833634334s\n2026-04-21T19:27:38.438043Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-04-21T19:27:39.763901Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.9MB → 0.3MB (7.6x), 12 JPEGs deleted\n2026-04-21T19:27:41.220664Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 0.9MB (2.2x), 14 JPEGs deleted\n2026-04-21T19:28:22.708791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:28:23.849452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:28:24.119301Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:14.209016Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:16.415693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:21.726815Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:23.890645Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:24.239058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:29:29.790006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:33.098495Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:38.065869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:44.089028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:47.272131Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:53.977951Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:29:57.274496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:11.986797Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:13.530455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:28.332451Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:30:37.204947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:26.255340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:26.592983Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:30.448912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:35.747969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:37.783849Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:38.061197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:43.216365Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:43.885407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:46.680745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:52.971450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:31:58.468469Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:31:58.624833Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:03.362210Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:12.706102Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:15.172982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:23.020508Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:23.199312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.387097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:25.764201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:30.336940Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:30.810971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:39.812820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:42.409145Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:32:44.386326Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:32:48.880648Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=47 elapsed=7.499136792s\n2026-04-21T19:32:48.880949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames\n2026-04-21T19:32:51.249469Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.2MB → 0.3MB (8.9x), 14 JPEGs deleted\n2026-04-21T19:32:55.969183Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.8MB → 1.9MB (2.0x), 31 JPEGs deleted\n2026-04-21T19:32:59.734686Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:00.098925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:33:05.951997Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:07.213420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:09.264586Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:34:16.527425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:19.513647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:34:32.889780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1128757073350665914, trigger=click)\n2026-04-21T19:34:56.078651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:34:56.296542Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4993766851008728916, trigger=click)\n2026-04-21T19:35:02.344819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:05.237721Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:07.518599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:09.938481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:10.408295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:35:26.864482Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:33.001733Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:35:36.479802Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:36:20.043835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:47.029303Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4526067242477956280, trigger=visual_change)\n2026-04-21T19:36:57.077150Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:33.348160Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:33.742029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:37:36.579915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6522604346580499335, trigger=visual_change)\n2026-04-21T19:37:39.754974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6522604346580499335, trigger=click)\n2026-04-21T19:38:04.951324Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=101 elapsed=8.9666755s\n2026-04-21T19:38:04.953527Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-04-21T19:38:13.751166Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 38 frames, 8.0MB → 3.5MB (2.3x), 38 JPEGs deleted\n2026-04-21T19:38:29.817220Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 61 frames, 9.7MB → 5.2MB (1.9x), 61 JPEGs deleted\n2026-04-21T19:40:34.255930Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=342 elapsed=1.0699005s\n2026-04-21T19:42:32.961192Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:33.305572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:40.179851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:42:41.405781Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:42:41.720845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:02.251464Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:43:11.622532Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:43:36.525920Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=85 elapsed=6.634896167s\n2026-04-21T19:43:36.526454Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 85 eligible frames\n2026-04-21T19:43:39.459999Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 8.0MB → 3.4MB (2.3x), 36 JPEGs deleted\n2026-04-21T19:43:43.505640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 47 frames, 7.9MB → 3.9MB (2.0x), 47 JPEGs deleted\n2026-04-21T19:44:05.999282Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=visual_change)\n2026-04-21T19:45:08.065595Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2712812971723964739, trigger=click)\n2026-04-21T19:45:46.266141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7870919634241372047, trigger=click)\n2026-04-21T19:48:51.569666Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=64 elapsed=8.039671791s\n2026-04-21T19:48:51.570457Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-04-21T19:48:58.738540Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.2MB → 2.4MB (2.9x), 32 JPEGs deleted\n2026-04-21T19:49:05.383193Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 5.9MB → 2.5MB (2.4x), 30 JPEGs deleted\n2026-04-21T19:51:14.064760Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2572721248839450970, trigger=visual_change)\n2026-04-21T19:54:08.518415Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.026887875s\n2026-04-21T19:54:12.872902Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=61 elapsed=7.44778675s\n2026-04-21T19:54:12.873164Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 61 eligible frames\n2026-04-21T19:54:16.348511Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.6MB → 1.4MB (4.1x), 25 JPEGs deleted\n2026-04-21T19:54:24.102233Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 6.2MB → 3.6MB (1.7x), 34 JPEGs deleted\n2026-04-21T19:59:32.063421Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=346 elapsed=1.165878958s\n2026-04-21T19:59:32.818884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=31 elapsed=8.661332917s\n2026-04-21T19:59:32.819629Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 31 eligible frames\n2026-04-21T19:59:35.810838Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.9MB → 0.7MB (3.9x), 16 JPEGs deleted\n2026-04-21T19:59:38.924596Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.9MB → 1.5MB (2.0x), 13 JPEGs deleted\n2026-04-21T20:01:55.709776Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1382976804061127003, trigger=click)\n2026-04-21T20:04:27.572999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7658911549706194190, trigger=click)\n2026-04-21T20:04:46.630063Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=57 elapsed=7.045125334s\n2026-04-21T20:04:46.631081Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 57 eligible frames\n2026-04-21T20:04:49.684796Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 2.5MB → 0.8MB (3.2x), 23 JPEGs deleted\n2026-04-21T20:04:56.073590Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 5.7MB → 3.1MB (1.8x), 32 JPEGs deleted\n2026-04-21T20:05:04.129844Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:05:04.425723Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-446124678591544690, trigger=click)\n2026-04-21T20:09:59.238939Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=30 elapsed=2.058497125s\n2026-04-21T20:09:59.239075Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 30 eligible frames\n2026-04-21T20:10:00.874153Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.3MB → 0.2MB (5.8x), 13 JPEGs deleted\n2026-04-21T20:10:03.326064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 1.8MB → 0.6MB (2.8x), 15 JPEGs deleted\n2026-04-21T20:15:07.129653Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=58 elapsed=3.763973459s\n2026-04-21T20:15:07.130598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 58 eligible frames\n2026-04-21T20:15:09.088400Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 3.7MB → 0.6MB (5.9x), 26 JPEGs deleted\n2026-04-21T20:15:10.858868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 3.9MB → 1.0MB (3.9x), 30 JPEGs deleted\n2026-04-21T20:18:21.110736Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=354 elapsed=1.169721666s\nzsh: terminated npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sp-start\ndetected hardware tier: Mid\nwarning: parakeet is not supported on this platform, using whisper-tiny instead\n2026-04-22T09:15:19.880360Z INFO screenpipe_engine::auth_key: api auth: key resolved via secret store\nchecking permissions...\n screen recording: ok\n accessibility: ok\n2026-04-22T09:15:19.951248Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-04-22T09:15:20.675958Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-04-22T09:15:20.677447Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-04-22T09:15:20.677800Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-04-22T09:15:20.709542Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-04-22T09:15:20.709596Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-04-22T09:15:20.709849Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-04-22T09:15:20.709774Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-04-22T09:15:20.709806Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-04-22T09:15:20.709863Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-04-22T09:15:20.709908Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-04-22T09:15:20.721517Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-04-22T09:15:20.725781Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-04-22T09:15:20.725991Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-04-22T09:15:20.726387Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-04-22T09:15:20.726548Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-04-22T09:15:20.726690Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-04-22T09:15:20.727224Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-04-22T09:15:20.727242Z 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 │ [\"Boosteroid\"] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n2026-04-22T09:15:20.728614Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ api auth │ enabled │\n2026-04-22T09:15:20.742172Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\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-22T09:15:20.742788Z INFO screenpipe: starting UI event capture\n2026-04-22T09:15:20.755824Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-04-22T09:15:20.769629Z INFO screenpipe_engine::ui_recorder: UI recording session started: e7729066-2ab4-4bf0-9d48-0c9790a4ee79\n2026-04-22T09:15:20.769680Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-04-22T09:15:20.769789Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-04-21 06:15:20.769785 UTC to 2026-04-22 06:15:20.769785 UTC)\n2026-04-22T09:15:20.770644Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-04-22T09:15:20.778181Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-04-22T09:15:20.789960Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-04-22T09:15:21.591614Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-04-22T09:15:21.591646Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.591751Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-04-22T09:15:21.919088Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-04-22T09:15:21.919141Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919158Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-04-22T09:15:21.919163Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-04-22T09:15:21.919167Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-04-22T09:15:23.315305Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)\n2026-04-22T09:15:23.445619Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms\n2026-04-22T09:15:23.697846Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:23.856559Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms\n2026-04-22T09:15:23.858032Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-04-22T09:15:25.542035Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=7744 elapsed=4.771776083s\n2026-04-22T09:15:25.568771Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 7744 frame entries, coverage from 2026-04-21 06:15:20.769785 UTC\n2026-04-22T09:15:32.415224Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)\n2026-04-22T09:15:41.941919Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=357539612469251678, trigger=click)\n2026-04-22T09:15:43.170779Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=357539612469251678, trigger=visual_change)\n2026-04-22T09:16:22.411707Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5959696770819639860, trigger=visual_change)\n2026-04-22T09:16:26.239896Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=62 elapsed=5.530699458s\n2026-04-22T09:16:26.240084Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames\n2026-04-22T09:16:28.044386Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.7MB → 0.2MB (19.7x), 30 JPEGs deleted\n2026-04-22T09:16:30.086623Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.3MB → 0.1MB (30.2x), 30 JPEGs deleted\n2026-04-22T09:16:31.962480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5959696770819639860, trigger=visual_change)","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"role_description":"text"}]...
|
6197491067458315690
|
2646348668002215289
|
app_switch
|
accessibility
|
NULL
|
FROM\n frames\nWHERE\n snapshot_path IS NOT NULL FROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=47 elapsed=5.487768917s
2026-04-21T16:49:53.309371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 47 eligible frames
2026-04-21T16:49:54.673701Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T16:49:56.314871Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.7MB → 1.2MB (4.0x), 24 JPEGs deleted
2026-04-21T16:54:59.385017Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=62 elapsed=3.057419917s
2026-04-21T16:54:59.385210Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 62 eligible frames
2026-04-21T16:55:00.998239Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.8MB → 0.5MB (10.3x), 26 JPEGs deleted
2026-04-21T16:55:03.739041Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 34 frames, 5.8MB → 2.6MB (2.2x), 34 JPEGs deleted
2026-04-21T16:55:17.768634Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-04-21T17:23:59.183039Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-04-21T17:23:59.216966Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-04-21T17:24:00.832399Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 disconnected, stopping recording
2026-04-21T17:24:00.832464Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2
2026-04-21T17:24:00.832336Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)
2026-04-21T17:24:04.654209Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 3 excluded)
2026-04-21T17:24:30.699969Z ERROR screenpipe_engine::resource_monitor: Failed to send resource usage to PostHog: error sending request for url (https://us.i.posthog.com/capture/)
2026-04-21T17:25:01.085383Z INFO screenpipe_engine::vision_manager::monitor_watcher: Monitor 2 reconnected, resuming recording
2026-04-21T17:25:01.273818Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-04-21T17:25:01.273870Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-04-21T17:25:01.273896Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-04-21T17:25:02.310236Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)
2026-04-21T17:25:02.808234Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=66228, dur=365ms
2026-04-21T17:25:04.889075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:07.887565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:10.918390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:14.039034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:17.160521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:26.096276Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:29.061270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:32.067380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:35.263701Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2258191199743945139, trigger=visual_change)
2026-04-21T17:25:41.164753Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:44.239172Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:47.149320Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:50.242915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:53.308794Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:56.218138Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:25:59.144297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4876286725156376418, trigger=visual_change)
2026-04-21T17:26:05.965946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:08.584110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:11.350189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:14.339609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:17.398251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:20.782119Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:23.385506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:26.427626Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:29.573661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:32.450744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:38.464132Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:41.456915Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:44.496278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:47.541313Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:50.596256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:53.597171Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:56.764522Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:26:59.751576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:02.719391Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:08.829090Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:11.800601Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:14.811724Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:17.855339Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:26.878741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:29.933020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:32.947216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:36.041239Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:38.993657Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:42.039373Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:45.172399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:48.081804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:51.142939Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:27:54.169253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:00.341347Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:03.322832Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:06.631198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:09.537232Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:12.406113Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.381764Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:15.806839Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=44 elapsed=5.777403s
2026-04-21T17:28:15.806951Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 44 eligible frames
2026-04-21T17:28:17.108106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.9MB → 0.3MB (13.1x), 21 JPEGs deleted
2026-04-21T17:28:18.370832Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 0.5MB (7.8x), 21 JPEGs deleted
2026-04-21T17:28:18.461408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:22.068097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:24.604711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:27.608060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:33.774822Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:36.697278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:39.729251Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:42.728755Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:45.748204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:48.768910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:51.814752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:54.970698Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:28:57.869874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:00.913837Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:07.461529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:10.043928Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:13.182411Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:16.080133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:19.108570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:22.322033Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:25.172666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:28.398354Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:31.249083Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:34.289745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:40.303310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:43.308015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:46.360649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:49.356069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:52.450205Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:55.422975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:29:58.446390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:01.491253Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:04.500380Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:16.830925Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:19.856895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:23.100486Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:25.938910Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:28.953603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:32.061536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:35.030958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:38.162895Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:41.148165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:44.019513Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:50.259576Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:53.148070Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:56.309979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:30:59.185610Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:02.278235Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:05.287341Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:08.409426Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:11.489977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:14.319338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:17.348153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:23.351025Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:26.427529Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:29.337254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:32.386165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:35.653387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:38.430216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:41.428909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:44.432459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:47.448603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:50.432780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:56.535727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:31:59.590792Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:02.621444Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:05.627964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:08.710139Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:11.765247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:14.787638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4069326767323596168, trigger=visual_change)
2026-04-21T17:32:17.876480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:20.977937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:32:29.888970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8116870867026519513, trigger=click)
2026-04-21T17:32:33.123648Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8116870867026519513, trigger=visual_change)
2026-04-21T17:33:03.355082Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:05.517897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=click)
2026-04-21T17:33:06.399783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:09.478894Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2116952762348440045, trigger=visual_change)
2026-04-21T17:33:19.151217Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-04-21T17:33:21.431006Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6379516332769645744, trigger=visual_change)
2026-04-21T17:33:33.494463Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7500553589467718193, trigger=visual_change)
2026-04-21T17:34:00.725974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2275300387038012183, trigger=click)
2026-04-21T17:34:07.214867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2063499064757931498, trigger=visual_change)
2026-04-21T17:34:31.480257Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:34:34.482370Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=visual_change)
2026-04-21T17:35:53.801549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:53.954311Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:35:54.740695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7652433743467416760, trigger=click)
2026-04-21T17:36:06.295752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5335392039126841536, trigger=visual_change)
2026-04-21T17:36:28.893337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5927780310531960690, trigger=visual_change)
2026-04-21T17:38:15.647110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.801901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:17.962831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=click)
2026-04-21T17:38:22.819710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:22.917176Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:23.042830Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=28 elapsed=3.882772625s
2026-04-21T17:38:23.042920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-04-21T17:38:24.717251Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 18 frames, 2.8MB → 0.4MB (6.3x), 18 JPEGs deleted
2026-04-21T17:38:26.727027Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.1MB → 0.2MB (5.7x), 10 JPEGs deleted
2026-04-21T17:38:35.971287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:36.106246Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7137414965816212018, trigger=click)
2026-04-21T17:38:37.368009Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7137414965816212018, trigger=visual_change)
2026-04-21T17:38:43.431620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8741356672789266752, trigger=visual_change)
2026-04-21T17:38:49.319886Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:49.477325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5149767057649118192, trigger=click)
2026-04-21T17:38:51.019231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5149767057649118192, trigger=visual_change)
2026-04-21T17:39:04.249890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7355944135161080033, trigger=click)
2026-04-21T17:39:23.256256Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:23.385820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:24.367407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4983811095206295613, trigger=visual_change)
2026-04-21T17:39:24.895784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4983811095206295613, trigger=click)
2026-04-21T17:39:46.438272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=372069959735326508, trigger=visual_change)
2026-04-21T17:39:49.101085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4964238948655865655, trigger=visual_change)
2026-04-21T17:39:58.083750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:01.375315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:04.195859Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9162568517366634523, trigger=visual_change)
2026-04-21T17:40:12.117004Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:12.244666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=click)
2026-04-21T17:40:13.925024Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2989278587618621353, trigger=visual_change)
2026-04-21T17:40:23.294147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9176130278548829292, trigger=visual_change)
2026-04-21T17:40:55.989498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=click)
2026-04-21T17:40:58.413325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3182674559678505325, trigger=visual_change)
2026-04-21T17:41:23.101094Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5616874458658671741, trigger=visual_change)
2026-04-21T17:41:29.504783Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2744778324521007391, trigger=visual_change)
2026-04-21T17:42:13.830352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:13.905614Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6664909184667365933, trigger=click)
2026-04-21T17:42:14.689622Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6664909184667365933, trigger=click)
2026-04-21T17:43:13.738786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5563100798252317961, trigger=visual_change)
2026-04-21T17:43:31.769731Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=40 elapsed=4.870364084s
2026-04-21T17:43:31.770321Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 40 eligible frames
2026-04-21T17:43:32.514133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 1.1MB → 0.1MB (8.9x), 11 JPEGs deleted
2026-04-21T17:43:34.391762Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.0MB → 0.5MB (5.9x), 27 JPEGs deleted
2026-04-21T17:44:19.021163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-263228306577803226, trigger=click)
2026-04-21T17:44:32.036390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=click)
2026-04-21T17:44:33.859332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8360298266192684601, trigger=visual_change)
2026-04-21T17:44:42.936361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:44:46.420662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=visual_change)
2026-04-21T17:46:17.725934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:18.733766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:19.506484Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:20.729229Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7286082578618580481, trigger=click)
2026-04-21T17:46:27.956655Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:29.490950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8942982652250876029, trigger=click)
2026-04-21T17:46:45.634752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:45.971315Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5761541209609855314, trigger=click)
2026-04-21T17:46:50.988867Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:51.601750Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5607564885929685542, trigger=click)
2026-04-21T17:46:56.353647Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4497988824039212795, trigger=click)
2026-04-21T17:47:24.716661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4864885406063659925, trigger=visual_change)
2026-04-21T17:47:29.793942Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:30.097043Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:30.960214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:32.707746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:36.181007Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:36.362574Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:37.093511Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:41.720206Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:44.706704Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=visual_change)
2026-04-21T17:47:48.602580Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:48.776278Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1467704874256515457, trigger=click)
2026-04-21T17:47:52.582982Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5658848090639979218, trigger=click)
2026-04-21T17:47:57.282103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:06.880071Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:07.656377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8902771592702756196, trigger=click)
2026-04-21T17:48:23.785117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:24.032602Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:26.587906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:32.180582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:34.022831Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:34.363583Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:39.363585Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=83 elapsed=4.983598708s
2026-04-21T17:48:39.363733Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 83 eligible frames
2026-04-21T17:48:41.479158Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 3.3MB → 0.2MB (17.7x), 31 JPEGs deleted
2026-04-21T17:48:44.682560Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 6.5MB → 2.0MB (3.3x), 50 JPEGs deleted
2026-04-21T17:48:53.828851Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:56.563636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:48:59.291654Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:48:59.467275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.295226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:00.453357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:13.301518Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.454207Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=visual_change)
2026-04-21T17:49:16.837288Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:18.900202Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:19.229376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.418502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:20.706966Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:21.269855Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:22.896443Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:23.115745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3163136488953525261, trigger=click)
2026-04-21T17:49:29.927553Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1234240076182081719, trigger=click)
2026-04-21T17:49:40.567042Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:40.722412Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=click)
2026-04-21T17:49:44.790415Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:49:44.983133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1506528968255096811, trigger=visual_change)
2026-04-21T17:51:50.315220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:53.337571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:51:59.473328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:02.455277Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6124108434802279273, trigger=visual_change)
2026-04-21T17:52:05.862297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:07.729450Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:16.901254Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:29.702852Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5682276111922228423, trigger=click)
2026-04-21T17:52:36.533775Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:39.599515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:45.700237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:48.638819Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:54.704399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:52:57.751791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:53:10.186965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1211481214920485263, trigger=visual_change)
2026-04-21T17:53:46.867091Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=116 elapsed=2.178958s
2026-04-21T17:53:46.867199Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 116 eligible frames
2026-04-21T17:53:49.254310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6879345585135723292, trigger=visual_change)
2026-04-21T17:53:50.410056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 56 frames, 12.3MB → 3.7MB (3.3x), 56 JPEGs deleted
2026-04-21T17:53:51.388237Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6879345585135723292, trigger=clic...
|
NULL
|
|
68525
|
1555
|
19
|
2026-04-22T06:17:42.176087+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838662176_m2.jpg...
|
iTerm2
|
Alfred
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Alfred Search Field
|
[{"role":"AXTextField","text [{"role":"AXTextField","text":"Alfred Search Field","depth":1,"help_text":"Alfred Search","role_description":"text field","is_enabled":true,"is_focused":true}]...
|
7926243118367575
|
7570943109877468232
|
app_switch
|
hybrid
|
NULL
|
Alfred Search Field
DMSActivityMoreQ Describe what Alfred Search Field
DMSActivityMoreQ Describe what you are looking for# sofa-office# support# thank-yous# the people_of jimi...•? Direct messages3 Aneliya Angelova, ...Aº. Aneliya Angelova&. Mario GeorgievPP. Nikolay Yankov%: Todor Stamatov. Gabriela Dureva&. Petko KashinskiG. Vasil Vasilevf. Nikolay Nikolov% Galya Dimitrova. Stefka StoyanovaR. Stoyan Tomov&. Stoyan TanevC. Nikolay IvanovP. Ves#: AppsJira Cloud8 ToastJY-20716 Creator is incorrectly displayed in AlReports page > Shared col..Status: In Dev Type: Sub-bugAssignee: Lukas Kovalik1 Priority: Medium4 Aneliya Angelova assigned a Sub-task fromresnonse for non-creator users in autom.Status: Ready for Dev Type: Sub-taskAssignee: Lukas KovalikT Priority: MediumTransitionMore actions..._ Aneliya Angelova transitioned a Sub-taskyou are assigned to from Ready for Dev -Won't doJY-20717 Exclude recipients from APIStatus: Won't do Type: Sub-taskAssignee: Lukas Kovalik4 Drioritvr MediumMessage Jira Cloud+ AaPlatform Sorint 2 02 - Platforn4 [JY-20372] Al Reports > Empty paJiminny MCP Connector - ProductM Jiminny Mail* (UY-20500] Batch initial sync for SFeed - jiminny - Sentry8 JiminnyO'Pipelines - jiminny/app•. Formalizel(SRD-6793) Les Mills activity type:(8) Search results: calendar IJiminnv8 Jiminnyg Jiminny8 Jiminny& Edit - Engineering - Confluence* (UY-18909) (Part2) Automated rep/SevenShores|Hubspot|ExceptionslCloudWatch | us-east-2Usage | WindsurfNew TabIminny.aulasslan.netlfa/sortwarelO JIMINNY@ For you© Recent& Starred89 Apps0, Spaces+..RecentJiminny (New)+••I 0D Platform Teamil SE KanbanII Capture Teama Enterprise Stability I...Processing TeamService-Desk= More spaces= FiltersCB Dashboards@ Operations2 Confluence:: Teamsga Customise sidebarSpaces / JiminnyPlatform Tear® SummaryQ Search boardREADY FOR DEV 4Investigate and fiexceed Fontawespackage limitsMAINTENANCEKeady Tor Devv..20564 1Notitv a user betReport expiresAJ REPORTSBacklog# JY-20508sync opportunitiea local owner (ustPLATFORM STABILTBackloavJY-20352Uoarade BE libraMAINTENANCE/ JY-19957s/37?selected|ssue=JY-20372• Search4 JY-19240 | N JY-203/2|AI Reports > Empty page design and promotionDescriptionyntrZM5kZTpa-1|Co• Unsaved Changes# [URL_WITH_CREDENTIALS] 1 @ •••=)CLONE - [Team insights]automatically...
|
NULL
|
|
68530
|
1555
|
21
|
2026-04-22T06:17:59.665824+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838679665_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Docker DeskiopProjecty~ app3circleci› @ .cursor,?a Docker DeskiopProjecty~ app3circleci› @ .cursor,?aithuoE sonarlint>•.vscode> .windsurfv ?l aon@ Actionsv# Component> 2 Acllaetelninte nntE ActivityE AcuviLyAnalyuesE ActivitySearchE AIACUVIIY IYO6(*) AiAutomation3 Aicallscoring? ASKAnything>3 Dtose Events?AsKAnvihinoPromofservice.on?. HistorvService.oho• ?| AskJiminnvAi?. AWS?. Billina Management?) Cache? Countrv® CustomerApi|?. Database# Datadog?) DateTime• Deallnsights? NoalPickeElasticSearch# EloquentE EncodingE EncryptionE ESE Faker@ FeatureFlagsE FFMpegE FileSystemE Gecko?) Gona@ GuzzleHttp?. KevPoints? Kiosk?ULanquade Detection?LiveFeed40"Dally - Platorm • In zom100% s2wea zzAor 9:10.00convertLeadAetiVites.pnp© SyncToPlanhat.php© CreatePlaybookCreatedEvent.php•AcuivityLeadConverted.phpMatchacuvityermData.pno xapi.phpIntearationApp/Service.php• LeadConverted.php(C) CreateSeltCoachedEvent.php• PlanhatActivityListener.php• AskAnythinaPromptService.php• AutomatedReportsRepository.php• AutomatedReportsCommand.oho• api_v2.php• RequestGenerateReportJob.php• AutomatedReportResult.ohd•AutomatedReport.phpclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUniqueinction handle(saccivicy === nullthrow new InvalidArgumentException('(MatchActivityCrmData] Cannot find activity.'):• laravel.log • SF [jiminny@localhost] • HS_local (jiminny@localhost] • console [PROD]• console [EU)Cascade• console [STAGING]••;siid docker.desktop PERSONALQ SearchSconnection->transaction(function ( use (Sactivitv. ScrmActivitvService. SactivityRerLoq::1nfo(' MatchActivitvermbatal Starting CRM data matching'.'activity' => Sthis->actavitvid.'remote search' => Sthis->remoteSearch"set confiquration' => Sthis->fromconfiquration?->qetido.olld statel => 1'lead_id' => Sactivity->getLead()?->getId(),contact id' => Sactivitv->aetContact02->aettd@l'account_id' > Sactivity->getAccount()?->getId(),'onportunity id' => Sactivitv->oet0onortunitvO2->aettdor'stage_id' => $activity->getStage()?->getId(),sthis- resetCrmlappings (Sactavity, SactivityRepository);$this->switchCrmConfigurationIfNeeded($activity);Sactivity->refresh();$crmActivityService->updateCrmData(aculvlcy. saculvicy.remoresearch: schis->remoresearchShasMatch = $activity->getLead() |== nullsactivity->qetcontacto == nulusactivitv->oetAccountor==.nulusactivitv->oer0ooortunttvo==nuulif (ShasMatch)<Log: :info(' [MatchActivityCrmData] Successfully matched CRM data', [activitv' = Sthis->activitvid.'remote_search' = $this->remoteSearch,thond cot cs Casttty Sootlondeb SotrdlelStarting the Docker Engine...Docker Engine is the underlving technoloay that runs containers* Engine startingRAM 0.00 GB CPU 0.00% Disk:-.- GB used (limit -.- GB)>_ O Update available...
|
NULL
|
-7527326652676921545
|
NULL
|
visual_change
|
ocr
|
NULL
|
Docker DeskiopProjecty~ app3circleci› @ .cursor,?a Docker DeskiopProjecty~ app3circleci› @ .cursor,?aithuoE sonarlint>•.vscode> .windsurfv ?l aon@ Actionsv# Component> 2 Acllaetelninte nntE ActivityE AcuviLyAnalyuesE ActivitySearchE AIACUVIIY IYO6(*) AiAutomation3 Aicallscoring? ASKAnything>3 Dtose Events?AsKAnvihinoPromofservice.on?. HistorvService.oho• ?| AskJiminnvAi?. AWS?. Billina Management?) Cache? Countrv® CustomerApi|?. Database# Datadog?) DateTime• Deallnsights? NoalPickeElasticSearch# EloquentE EncodingE EncryptionE ESE Faker@ FeatureFlagsE FFMpegE FileSystemE Gecko?) Gona@ GuzzleHttp?. KevPoints? Kiosk?ULanquade Detection?LiveFeed40"Dally - Platorm • In zom100% s2wea zzAor 9:10.00convertLeadAetiVites.pnp© SyncToPlanhat.php© CreatePlaybookCreatedEvent.php•AcuivityLeadConverted.phpMatchacuvityermData.pno xapi.phpIntearationApp/Service.php• LeadConverted.php(C) CreateSeltCoachedEvent.php• PlanhatActivityListener.php• AskAnythinaPromptService.php• AutomatedReportsRepository.php• AutomatedReportsCommand.oho• api_v2.php• RequestGenerateReportJob.php• AutomatedReportResult.ohd•AutomatedReport.phpclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUniqueinction handle(saccivicy === nullthrow new InvalidArgumentException('(MatchActivityCrmData] Cannot find activity.'):• laravel.log • SF [jiminny@localhost] • HS_local (jiminny@localhost] • console [PROD]• console [EU)Cascade• console [STAGING]••;siid docker.desktop PERSONALQ SearchSconnection->transaction(function ( use (Sactivitv. ScrmActivitvService. SactivityRerLoq::1nfo(' MatchActivitvermbatal Starting CRM data matching'.'activity' => Sthis->actavitvid.'remote search' => Sthis->remoteSearch"set confiquration' => Sthis->fromconfiquration?->qetido.olld statel => 1'lead_id' => Sactivity->getLead()?->getId(),contact id' => Sactivitv->aetContact02->aettd@l'account_id' > Sactivity->getAccount()?->getId(),'onportunity id' => Sactivitv->oet0onortunitvO2->aettdor'stage_id' => $activity->getStage()?->getId(),sthis- resetCrmlappings (Sactavity, SactivityRepository);$this->switchCrmConfigurationIfNeeded($activity);Sactivity->refresh();$crmActivityService->updateCrmData(aculvlcy. saculvicy.remoresearch: schis->remoresearchShasMatch = $activity->getLead() |== nullsactivity->qetcontacto == nulusactivitv->oetAccountor==.nulusactivitv->oer0ooortunttvo==nuulif (ShasMatch)<Log: :info(' [MatchActivityCrmData] Successfully matched CRM data', [activitv' = Sthis->activitvid.'remote_search' = $this->remoteSearch,thond cot cs Casttty Sootlondeb SotrdlelStarting the Docker Engine...Docker Engine is the underlving technoloay that runs containers* Engine startingRAM 0.00 GB CPU 0.00% Disk:-.- GB used (limit -.- GB)>_ O Update available...
|
NULL
|
|
68531
|
1554
|
15
|
2026-04-22T06:18:03.653224+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838683653_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorRun PhpStormFileEditViewNavigateCodeLaravelRefactorRunToolsWindowHelpscreenpipe"= Daily - Platform • in 27 m100% <78Wed 22 Apr 9:18:05181DOCKERO 881-zsh282-zsh83* Build full day ac...0 84|screenpipe"885-zsh86APP (-zsh)87ec2-user@ip-10-30-... *8checklatestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-22709:15:20.742788Z2026-04-22T09:15:20.755824Z2026-04-22T09:15:20.769629Z2026-04-22T09:15:20.769680Z2026-04-22T09:15:20.769789Z2026-04-22T09:15:20.770644Z2026-04-22T09:15:20.778181Z2026-04-22T09:15:20.789960Z2026-04-22709:15:21.591614Z2026-04-22T09:15:21.591646Z2026-04-22T09:15:21.591751Z2026-04-22T09:15:21.919088Z2026-04-22T09:15:21.919141Z2026-04-22T09:15:21..919158Z2026-04-22T09:15:21.919163Z2026-04-22T09:15:21.919167ZINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOscreenpipe:starting UIevent capturescreenpipe_engine::ui_recorder: Starting UI eventcapturescreenpipe_engine::ui_recorder: UI recording sessionstarted: e7729066-2ab4-4bf0-9d48-0c9790a4ee79screenpipe_engine:: calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::hot_frame_cache: hot_frame_cache: warmingfrom DB (2026-04-21 06:15:20.769785 UTC to2026-04-2206:15:20.769785 UTC)screenpipe_engine: :meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030screenpipe_connect: :mdns: mdns: advertising screenpipe on port 3030screenpipe_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)tor 11 cxovice: monitor-_2)screenpipe_engine::event_driven_capture: event-driven capture startedfor monitor 1 device: monitor_1)screenpipe_engine::vision_manager::manager: Starting vision recordingfor monitor 2 3008x1253)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)screenpipe_engine::vision_manager::manager: VisionManagerstarted with 2/2 monitor(s)screenpipe_engine:: event_driven_capture: event-driven capture startedfor monitor 2 (device: monitor_2)screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)2026-04-22T09:15:23.315305ZINFO sck_rs::stream_manager:persistent SCKstream started for display 1 (1440x900, 2fps, 3 excluded)2026-04-22T09:15:23.445619ZINFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms2026-04-22T09:15:23.697846ZINFO2026-04-22T09:15:23.856559Zsck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms2026-04-22709:15:23.858032ZINFO sck_rs::stream_manager:invalidated persistent stream for display 22026-04-22T09:15:25.542035ZWARN sqlx::query:summary="SELECT f.id, f.timestamp, f.offset_index, _"db.statement="\n\nSELECT\nf.timestamp, \nf.offset_index, \n COALESCE(\nSUBSTR(f.full_text,1,200), \nSUBSTR(f.accessibility_text, 1, 200), \nf.id,\n\nSELECT\nSUBSTR(ot.text, 1, 200)\nFROM\nocr_text ot\nWHERE\not.frame_id= f.id\nLIMIT\n1\n)\n ) as text, \n COALESCE(\nf.app_name, \nA\nSELECT\not\nWHERE\not.frame_id = f.id\nLIMIT\n1\n) as app_name, \nCOALESCE(\nFROM\nocr_text ot\nWHERE\not.frame_id = f.id\n)\nLIMIT \n1\n)\n ) as window_name, \n COALESCE(vc.device_name, f.device_name) as screen_device, \nCOALESCE(vc.file_path, f.snapshot_path) as video_path, \n COALESCE(vc.fps, 0.033) as chunk_fps, \ns vc ON f.video_chunk_id= vc.id\nWHERE\nf.timestamp >= ?1\n AND f.timestamp <= ?2\nf.browser_url,\nAND COALESCE(vc.file_path,M uT, n ONESCECCOot.app_name\nFROM\nocr_textSELECT\not.window_name\nf.machine_id\nFROM\nframes f\nLEFT JOIN video_chunkf.snapshot_path,'*) NOT LIKE 'cloud://%'\nORDER BY\nf.timestampDESC, \nf.offset_indexDESC\nLIMIT\n10000\n"2026-04-22T09:15:25.568771Zrows_affected=0 rows_returned=7744 elapsed-4.771776083sINFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 7744 frame entries, coverage from 2026-04-21 06:15:20.769785 UTC2026-04-22T09:15:32.415224ZINFO sck_rs::stream_manager:persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)2026-04-22T09:15:41.941919ZINFOscreenpipe_engine: :event_driven_capture: content dedup: skipping capture for monitor 2 (hash=357539612469251678, trigger=click)2026-04-22T09:15:43.170779Z2026-04-22T09:16:22.411707ZINFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=357539612469251678, trigger=visual_change)INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5959696770819639860, trigger=visual_change)2026-04-22T09:16:26.239896ZWARN sqlx::query:summary="SELECT id, snapshot_path, device_name,FROM\nframes\nWHERE\nsnapshot_path IS NOT NULL\nAND timestamp < ?1\nORDER BY\n-"snapshot_path, \n device_name, \ntimestamp\ndevice_name, \ntimestamp ASC\nLIMIT\n 5000\n" rows_affected-0 rows_returned-62 elapsed-5.530699458s2026-04-22T09:16:26.240084Z2026-04-22T09:16:28.044386Z2026-04-22709:16:30.086623Z2026-04-22T09:16:31.962480ZINFOscreenpipe_engine::snapshot_compaction: snapshotcompaction: found 62eligibleframesINFOINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames,4.7MB → 0.2MB (19.7x), 30 JPEGSscreenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames,4.3MB → 0.1MB (30.2x), 30 JPEGSINFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5959696770819639860, trigger=visual_change)...
|
NULL
|
6612982862465986786
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorRun PhpStormFileEditViewNavigateCodeLaravelRefactorRunToolsWindowHelpscreenpipe"= Daily - Platform • in 27 m100% <78Wed 22 Apr 9:18:05181DOCKERO 881-zsh282-zsh83* Build full day ac...0 84|screenpipe"885-zsh86APP (-zsh)87ec2-user@ip-10-30-... *8checklatestchanges here: https://github.com/screenpipe/screenpipe/releases2026-04-22709:15:20.742788Z2026-04-22T09:15:20.755824Z2026-04-22T09:15:20.769629Z2026-04-22T09:15:20.769680Z2026-04-22T09:15:20.769789Z2026-04-22T09:15:20.770644Z2026-04-22T09:15:20.778181Z2026-04-22T09:15:20.789960Z2026-04-22709:15:21.591614Z2026-04-22T09:15:21.591646Z2026-04-22T09:15:21.591751Z2026-04-22T09:15:21.919088Z2026-04-22T09:15:21.919141Z2026-04-22T09:15:21..919158Z2026-04-22T09:15:21.919163Z2026-04-22T09:15:21.919167ZINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOINFOscreenpipe:starting UIevent capturescreenpipe_engine::ui_recorder: Starting UI eventcapturescreenpipe_engine::ui_recorder: UI recording sessionstarted: e7729066-2ab4-4bf0-9d48-0c9790a4ee79screenpipe_engine:: calendar_speaker_id: speaker identification: started (user_name=<not set>)screenpipe_engine::hot_frame_cache: hot_frame_cache: warmingfrom DB (2026-04-21 06:15:20.769785 UTC to2026-04-2206:15:20.769785 UTC)screenpipe_engine: :meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030screenpipe_connect: :mdns: mdns: advertising screenpipe on port 3030screenpipe_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)tor 11 cxovice: monitor-_2)screenpipe_engine::event_driven_capture: event-driven capture startedfor monitor 1 device: monitor_1)screenpipe_engine::vision_manager::manager: Starting vision recordingfor monitor 2 3008x1253)screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)screenpipe_engine::vision_manager::manager: VisionManagerstarted with 2/2 monitor(s)screenpipe_engine:: event_driven_capture: event-driven capture startedfor monitor 2 (device: monitor_2)screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)2026-04-22T09:15:23.315305ZINFO sck_rs::stream_manager:persistent SCKstream started for display 1 (1440x900, 2fps, 3 excluded)2026-04-22T09:15:23.445619ZINFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68471, dur=74ms2026-04-22T09:15:23.697846ZINFO2026-04-22T09:15:23.856559Zsck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68472, dur=115ms2026-04-22709:15:23.858032ZINFO sck_rs::stream_manager:invalidated persistent stream for display 22026-04-22T09:15:25.542035ZWARN sqlx::query:summary="SELECT f.id, f.timestamp, f.offset_index, _"db.statement="\n\nSELECT\nf.timestamp, \nf.offset_index, \n COALESCE(\nSUBSTR(f.full_text,1,200), \nSUBSTR(f.accessibility_text, 1, 200), \nf.id,\n\nSELECT\nSUBSTR(ot.text, 1, 200)\nFROM\nocr_text ot\nWHERE\not.frame_id= f.id\nLIMIT\n1\n)\n ) as text, \n COALESCE(\nf.app_name, \nA\nSELECT\not\nWHERE\not.frame_id = f.id\nLIMIT\n1\n) as app_name, \nCOALESCE(\nFROM\nocr_text ot\nWHERE\not.frame_id = f.id\n)\nLIMIT \n1\n)\n ) as window_name, \n COALESCE(vc.device_name, f.device_name) as screen_device, \nCOALESCE(vc.file_path, f.snapshot_path) as video_path, \n COALESCE(vc.fps, 0.033) as chunk_fps, \ns vc ON f.video_chunk_id= vc.id\nWHERE\nf.timestamp >= ?1\n AND f.timestamp <= ?2\nf.browser_url,\nAND COALESCE(vc.file_path,M uT, n ONESCECCOot.app_name\nFROM\nocr_textSELECT\not.window_name\nf.machine_id\nFROM\nframes f\nLEFT JOIN video_chunkf.snapshot_path,'*) NOT LIKE 'cloud://%'\nORDER BY\nf.timestampDESC, \nf.offset_indexDESC\nLIMIT\n10000\n"2026-04-22T09:15:25.568771Zrows_affected=0 rows_returned=7744 elapsed-4.771776083sINFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 7744 frame entries, coverage from 2026-04-21 06:15:20.769785 UTC2026-04-22T09:15:32.415224ZINFO sck_rs::stream_manager:persistent SCK stream started for display 2 (3008x1253, 2fps, 3 excluded)2026-04-22T09:15:41.941919ZINFOscreenpipe_engine: :event_driven_capture: content dedup: skipping capture for monitor 2 (hash=357539612469251678, trigger=click)2026-04-22T09:15:43.170779Z2026-04-22T09:16:22.411707ZINFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=357539612469251678, trigger=visual_change)INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5959696770819639860, trigger=visual_change)2026-04-22T09:16:26.239896ZWARN sqlx::query:summary="SELECT id, snapshot_path, device_name,FROM\nframes\nWHERE\nsnapshot_path IS NOT NULL\nAND timestamp < ?1\nORDER BY\n-"snapshot_path, \n device_name, \ntimestamp\ndevice_name, \ntimestamp ASC\nLIMIT\n 5000\n" rows_affected-0 rows_returned-62 elapsed-5.530699458s2026-04-22T09:16:26.240084Z2026-04-22T09:16:28.044386Z2026-04-22709:16:30.086623Z2026-04-22T09:16:31.962480ZINFOscreenpipe_engine::snapshot_compaction: snapshotcompaction: found 62eligibleframesINFOINFOscreenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames,4.7MB → 0.2MB (19.7x), 30 JPEGSscreenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames,4.3MB → 0.1MB (30.2x), 30 JPEGSINFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5959696770819639860, trigger=visual_change)...
|
NULL
|
|
68532
|
1555
|
22
|
2026-04-22T06:18:10.103782+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838690103_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Docker DesktopVIewProjectyv Dapp ->.circleci> Docker DesktopVIewProjectyv Dapp ->.circleci> D.cursor>Ga-github> D.sonarlint> O.vscode> D.windsurfvD app> DActionsv D Component> DAcl• ActionitemsDActivityJ AcuvityAnalyucsActivitySearchAIACUVIIY IYO6D AiAutomation• AIcallscoringDAskAnything># DtosuEvents. AskAnythingPromptService.phHistorvService.oho•D AskJiminnvAiD AWSBilllina Managementa CacheServices+odl=xloadina..ActivityController.php© SaveActivity.php© PurgeLookupCache.phpConvertLeadActivities.php© SyncPlanhat.php© SyncToPlanhat.php©)AcuivityLeadConverted.phg= custom.log• laravel.logA SF [jiminny@localhost]A HS_Jocal [jiminny@localhost]A console (STAGING]cu.ueleleual do NULLAND to.domain = LOWERSUBSTRING INDEXc.calendar provider 1d.'@', -1))GROUP BY t.id, t.name, calendar_domainORDER BY t.name, calendar_domain;A console [PROD] Xconsole [eu)PlaybackController.phpphp apl.php(C) IntearationApp/Service.phpC) LeadConverted.php(C) CreateSeltCoachedEvent.php(C) PlanhatActivityListener.phpC)AskAnythinaPromptService.php(C) AutomatedReportsRepository.php(C) AutomatedReportsCommand.ohophp api_v2.php631632select * from users u join calendars c on c.user_id = u.idwhere u.team_id = 882;(C) RequestGenerateReport.Job.ohd©AutomatedReportResult.ohd© AutomatedReport.phpclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique634Analyzing... ^ ~ 635function handle(saccivicy === nullthrow new InvalidArgumentException( message:'[MatchActivityCrmData] Cannot find activi 638select * from activities • •select x Tron acrvittestil docker.desktop PERSONALseLect x Tron acrivitlesAsk GordonBETAseLect x Tron acrivitlesselect * from activitiesselect * trom parcicipa.ContainersContainersGive feedbackImadesContainer CPU usage ©Sconnection-›transaction(function () use (Sactivity, $crmActivityService, SactivityRep 642Loq: :infocm'LHatchActzvityCrmbata) Starting CRM data matching', l643'activity' => Sthis-›actzvitvid.select * trom accivitlesand account_id = 1900365VolumesNo containers are runninaKuberneres'remote search' => Sthis-›remoteSearch'set_configuration' => $this->fromConfiguration?->getId(),olld statel => 1'lead_id' => $activity->getLead()?->getId(),'contact_id' => Sactivity->getContact®?->getid,'account_id' > Sactivity->getAccount()?->getId(),'opportunity_id' => Sactivity->get0pportunityO?-›getidO.select * from contacts wselect * from accountsBulldsSearchModelsNameContainer DMCP Toolkit BETA1229ffe7ed37Noskor LnbKibanaД А 7с3ес7911304Docker ScoutngrokA AN 00a86edb2f8dFxtensionshlacktire.f3fa652b7054Manageiiminny ext- 58754608d3e0elasticsearch eR02ad472a4f• Resource usagedatadog-10727543fa332natrtlainetb7e64079c3c3Engine running11 :RAM 0.54 GB CPU 23.29% Disk:-.- GB used (limit -.- GB)$0Daily - Platform • in 27 mL AskJiminnyReportActivityServiceTest~100% 12Wed 22 Apr 9:18:11CascadeQ SearchContainer memory usage GNo containers are runninaOnlv show runnina containersmagePort(s)6270-6270easekibana/kibana:7.10.2 5601:56014040:4040blackfire/blackfire: 1.: 8707:8707node:8.12-alpine9200:9200elasticsearch/elasticshow alllpors Acalacog lageno.lamariadb:11.4.53306:3306Show chartsCPU(% ActionsN/A DN/AN/A DN/ADN/A DN/A DN/A DShowing 16 items>_ O Update availableW Windsurf 642-52UTF.8Aenanac...
|
NULL
|
-1086646804053917229
|
NULL
|
visual_change
|
ocr
|
NULL
|
Docker DesktopVIewProjectyv Dapp ->.circleci> Docker DesktopVIewProjectyv Dapp ->.circleci> D.cursor>Ga-github> D.sonarlint> O.vscode> D.windsurfvD app> DActionsv D Component> DAcl• ActionitemsDActivityJ AcuvityAnalyucsActivitySearchAIACUVIIY IYO6D AiAutomation• AIcallscoringDAskAnything># DtosuEvents. AskAnythingPromptService.phHistorvService.oho•D AskJiminnvAiD AWSBilllina Managementa CacheServices+odl=xloadina..ActivityController.php© SaveActivity.php© PurgeLookupCache.phpConvertLeadActivities.php© SyncPlanhat.php© SyncToPlanhat.php©)AcuivityLeadConverted.phg= custom.log• laravel.logA SF [jiminny@localhost]A HS_Jocal [jiminny@localhost]A console (STAGING]cu.ueleleual do NULLAND to.domain = LOWERSUBSTRING INDEXc.calendar provider 1d.'@', -1))GROUP BY t.id, t.name, calendar_domainORDER BY t.name, calendar_domain;A console [PROD] Xconsole [eu)PlaybackController.phpphp apl.php(C) IntearationApp/Service.phpC) LeadConverted.php(C) CreateSeltCoachedEvent.php(C) PlanhatActivityListener.phpC)AskAnythinaPromptService.php(C) AutomatedReportsRepository.php(C) AutomatedReportsCommand.ohophp api_v2.php631632select * from users u join calendars c on c.user_id = u.idwhere u.team_id = 882;(C) RequestGenerateReport.Job.ohd©AutomatedReportResult.ohd© AutomatedReport.phpclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique634Analyzing... ^ ~ 635function handle(saccivicy === nullthrow new InvalidArgumentException( message:'[MatchActivityCrmData] Cannot find activi 638select * from activities • •select x Tron acrvittestil docker.desktop PERSONALseLect x Tron acrivitlesAsk GordonBETAseLect x Tron acrivitlesselect * from activitiesselect * trom parcicipa.ContainersContainersGive feedbackImadesContainer CPU usage ©Sconnection-›transaction(function () use (Sactivity, $crmActivityService, SactivityRep 642Loq: :infocm'LHatchActzvityCrmbata) Starting CRM data matching', l643'activity' => Sthis-›actzvitvid.select * trom accivitlesand account_id = 1900365VolumesNo containers are runninaKuberneres'remote search' => Sthis-›remoteSearch'set_configuration' => $this->fromConfiguration?->getId(),olld statel => 1'lead_id' => $activity->getLead()?->getId(),'contact_id' => Sactivity->getContact®?->getid,'account_id' > Sactivity->getAccount()?->getId(),'opportunity_id' => Sactivity->get0pportunityO?-›getidO.select * from contacts wselect * from accountsBulldsSearchModelsNameContainer DMCP Toolkit BETA1229ffe7ed37Noskor LnbKibanaД А 7с3ес7911304Docker ScoutngrokA AN 00a86edb2f8dFxtensionshlacktire.f3fa652b7054Manageiiminny ext- 58754608d3e0elasticsearch eR02ad472a4f• Resource usagedatadog-10727543fa332natrtlainetb7e64079c3c3Engine running11 :RAM 0.54 GB CPU 23.29% Disk:-.- GB used (limit -.- GB)$0Daily - Platform • in 27 mL AskJiminnyReportActivityServiceTest~100% 12Wed 22 Apr 9:18:11CascadeQ SearchContainer memory usage GNo containers are runninaOnlv show runnina containersmagePort(s)6270-6270easekibana/kibana:7.10.2 5601:56014040:4040blackfire/blackfire: 1.: 8707:8707node:8.12-alpine9200:9200elasticsearch/elasticshow alllpors Acalacog lageno.lamariadb:11.4.53306:3306Show chartsCPU(% ActionsN/A DN/AN/A DN/ADN/A DN/A DN/A DShowing 16 items>_ O Update availableW Windsurf 642-52UTF.8Aenanac...
|
68530
|
|
68542
|
1555
|
29
|
2026-04-22T06:19:38.717477+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838778717_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-8569099291162371923
|
-1076393109431506209
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
68539
|
|
68543
|
1554
|
19
|
2026-04-22T06:19:38.717460+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838778717_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
-8569099291162371923
|
-1076393109431506209
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
68538
|
|
68544
|
1554
|
20
|
2026-04-22T06:19:39.969560+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838779969_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
-8569099291162371923
|
-1076393109431506209
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68578
|
NULL
|
0
|
2026-04-22T06:21:38.580300+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838898580_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-2525045998934122930
|
-1076393109431358753
|
app_switch
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68579
|
1554
|
31
|
2026-04-22T06:21:38.579922+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776838898579_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
-2525045998934122930
|
-1076393109431358753
|
app_switch
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68715
|
1561
|
9
|
2026-04-22T06:33:17.045993+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839597045_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-2525045998934122930
|
-1076393109431358753
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
68714
|
|
68716
|
1560
|
6
|
2026-04-22T06:33:17.513022+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839597513_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
-2525045998934122930
|
-1076393109431358753
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68717
|
1560
|
7
|
2026-04-22T06:33:38.480161+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839618480_m1.jpg...
|
iTerm2
|
less
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
:
DOCKER
Close Tab
-zsh
Close Tab
less
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
less...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n:","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n:","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":"-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":"less","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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"less","depth":1,"bounds":{"left":0.48958334,"top":0.033333335,"width":0.020833334,"height":0.017777778},"role_description":"text"}]...
|
-1168320697323537382
|
-1076393109163054121
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
:
DOCKER
Close Tab
-zsh
Close Tab
less
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
less...
|
NULL
|
|
68718
|
1561
|
10
|
2026-04-22T06:33:48.579335+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839628579_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-5036058292618033775
|
-1076393109028836385
|
idle
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68722
|
1560
|
9
|
2026-04-22T06:34:39.161347+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839679161_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
4767302772760750175
|
-1076393109028852769
|
app_switch
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68723
|
1561
|
13
|
2026-04-22T06:34:39.709254+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839679709_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
8383770436137999539
|
-1076393109028721698
|
app_switch
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68726
|
1560
|
11
|
2026-04-22T06:34:47.812404+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839687812_m1.jpg...
|
iTerm2
|
git
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
DOCKER
Close Tab
-zsh
Close Tab
git
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
git...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages","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":"-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":"git","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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"git","depth":1,"bounds":{"left":0.4923611,"top":0.033333335,"width":0.015277778,"height":0.017777778},"role_description":"text"}]...
|
1845813223034419939
|
-1076393246738338850
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
DOCKER
Close Tab
-zsh
Close Tab
git
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
git...
|
NULL
|
|
68727
|
1561
|
15
|
2026-04-22T06:34:48.404210+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839688404_m2.jpg...
|
iTerm2
|
git
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
git
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"git","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-4452372360850788966
|
-1076393246469772322
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
git
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68733
|
1561
|
20
|
2026-04-22T06:35:07.908784+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839707908_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ gi
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ gi","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ gi","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-7660472098513294629
|
-1076393251031077922
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ gi
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
68732
|
|
68737
|
1560
|
14
|
2026-04-22T06:35:17.559923+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839717559_m1.jpg...
|
iTerm2
|
faVsco.js – RematchActivityOnCrmObjectDetach.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20372-ai-reports-promo Project: faVsco.js, menu
JY-20372-ai-reports-promotion-pages, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
4
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\Crm;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Bus;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Jobs\Crm\CheckAndRetryRemoteMatch;
use Jiminny\Jobs\Crm\MatchActivityCrmData;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
readonly class RematchActivityOnCrmObjectDetach implements ShouldQueue
{
private const array SUPPORTED_OBJECTS = [
CrmObject::LEAD,
CrmObject::OPPORTUNITY,
CrmObject::CONTACT,
CrmObject::ACCOUNT,
];
public function __construct(
private LoggerInterface $logger,
) {
}
public function handle(DetachActivityObject $event): void
{
$crmObject = $event->getCrmObject();
$activity = $event->getActivity();
if ($activity->trashed()) {
$this->logger->info('[RematchActivityOnCrmObjectDetach] Skipping rematch for soft-deleted activity', [
'activity' => $activity->getId(),
'crm_object' => $crmObject->value,
]);
return;
}
if (! in_array($crmObject, self::SUPPORTED_OBJECTS, true)) {
$this->logger->debug('[RematchActivityOnCrmObjectDetach] Skipping rematch for CRM object type', [
'activity' => $activity->getId(),
'crm_object' => $crmObject->value,
]);
return;
}
if ($activity->isTypeConference() &&
! in_array($activity->getStatus(), Activity::FINITE_STATES_CONFERENCE, true)
) {
$this->logger
->info('[RematchActivityOnCrmObjectDetach] Skipping rematch for non-finite conference activity', [
'activity' => $activity->getId(),
'crm_object' => $crmObject->value,
]);
return;
}
$this->logger->info('[RematchActivityOnCrmObjectDetach] Try to match new crm data for deleted object', [
'activity' => $activity->getId(),
'crm_object' => $crmObject->value,
]);
Bus::chain([
new MatchActivityCrmData(
activityId: $activity->getId(),
fromConfiguration: null,
remoteSearch: false,
),
new CheckAndRetryRemoteMatch(
activityId: $activity->getId(),
crmObject: $crmObject,
),
])->dispatch();
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
35
1
33
63
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports;
where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
select * from opportunities where id = 7594349;
SELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - [EMAIL]
select * from playbooks where team_id = 711; # event 226147
SELECT * FROM playbook_categories WHERE playbook_id = 5515;
SELECT * FROM crm_fields WHERE crm_configuration_id = 692 and object_type = 'event';
SELECT * FROM crm_fields WHERE id = 226147;
SELECT * FROM crm_field_values WHERE crm_field_id = 226147;
SELECT * FROM crm_configurations WHERE id = 692;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 711 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles cp JOIN users u on u.id = cp.user_id WHERE u.team_id = 711;
select * from leads;
select * from calendars;
SELECT
t.id AS team_id,
t.name,
LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domain
FROM teams t
JOIN users u ON u.team_id = t.id
JOIN calendars c ON c.user_id = u.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%@%'
LEFT JOIN team_domains td
ON td.team_id = t.id
AND td.deleted_at IS NULL
AND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))
GROUP BY t.id, t.name, calendar_domain
ORDER BY t.name, calendar_domain;
select * from users u join calendars c on c.user_id = u.id
where u.team_id = 882;
select * from activities where id = 74049485; # team 563 crm 537
select * from activities where id = 73272382; # team 563 crm 537
select * from activities where id = 64400389; # team 563 crm 537
select * from activities where id = 58081273; # team 563 crm 537
select * from activities where id = 54520297; # team 563 crm 537
select * from participants where activity_id = 58081273;
select * from activities where crm_configuration_id = 537 and provider = 'aircall'
and account_id = 19003658 order by updated_at desc;
select * from contacts where crm_configuration_id = 537 and id = 35957759;
select * from accounts where crm_configuration_id = 537 and id = 19003658;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JY-20372-ai-reports-promotion-pages, menu","depth":5,"help_text":"Git Branch: JY-20372-ai-reports-promotion-pages","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AskJiminnyReportActivityServiceTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AskJiminnyReportActivityServiceTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AskJiminnyReportActivityServiceTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"4","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Listeners\\Crm;\n\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Support\\Facades\\Bus;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Jobs\\Crm\\CheckAndRetryRemoteMatch;\nuse Jiminny\\Jobs\\Crm\\MatchActivityCrmData;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\n\nreadonly class RematchActivityOnCrmObjectDetach implements ShouldQueue\n{\n private const array SUPPORTED_OBJECTS = [\n CrmObject::LEAD,\n CrmObject::OPPORTUNITY,\n CrmObject::CONTACT,\n CrmObject::ACCOUNT,\n ];\n\n public function __construct(\n private LoggerInterface $logger,\n ) {\n }\n\n public function handle(DetachActivityObject $event): void\n {\n $crmObject = $event->getCrmObject();\n $activity = $event->getActivity();\n\n if ($activity->trashed()) {\n $this->logger->info('[RematchActivityOnCrmObjectDetach] Skipping rematch for soft-deleted activity', [\n 'activity' => $activity->getId(),\n 'crm_object' => $crmObject->value,\n ]);\n\n return;\n }\n\n if (! in_array($crmObject, self::SUPPORTED_OBJECTS, true)) {\n $this->logger->debug('[RematchActivityOnCrmObjectDetach] Skipping rematch for CRM object type', [\n 'activity' => $activity->getId(),\n 'crm_object' => $crmObject->value,\n ]);\n\n return;\n }\n\n if ($activity->isTypeConference() &&\n ! in_array($activity->getStatus(), Activity::FINITE_STATES_CONFERENCE, true)\n ) {\n $this->logger\n ->info('[RematchActivityOnCrmObjectDetach] Skipping rematch for non-finite conference activity', [\n 'activity' => $activity->getId(),\n 'crm_object' => $crmObject->value,\n ]);\n\n return;\n }\n\n $this->logger->info('[RematchActivityOnCrmObjectDetach] Try to match new crm data for deleted object', [\n 'activity' => $activity->getId(),\n 'crm_object' => $crmObject->value,\n ]);\n\n Bus::chain([\n new MatchActivityCrmData(\n activityId: $activity->getId(),\n fromConfiguration: null,\n remoteSearch: false,\n ),\n new CheckAndRetryRemoteMatch(\n activityId: $activity->getId(),\n crmObject: $crmObject,\n ),\n ])->dispatch();\n }\n}","depth":4,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Listeners\\Crm;\n\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Support\\Facades\\Bus;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Jobs\\Crm\\CheckAndRetryRemoteMatch;\nuse Jiminny\\Jobs\\Crm\\MatchActivityCrmData;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\n\nreadonly class RematchActivityOnCrmObjectDetach implements ShouldQueue\n{\n private const array SUPPORTED_OBJECTS = [\n CrmObject::LEAD,\n CrmObject::OPPORTUNITY,\n CrmObject::CONTACT,\n CrmObject::ACCOUNT,\n ];\n\n public function __construct(\n private LoggerInterface $logger,\n ) {\n }\n\n public function handle(DetachActivityObject $event): void\n {\n $crmObject = $event->getCrmObject();\n $activity = $event->getActivity();\n\n if ($activity->trashed()) {\n $this->logger->info('[RematchActivityOnCrmObjectDetach] Skipping rematch for soft-deleted activity', [\n 'activity' => $activity->getId(),\n 'crm_object' => $crmObject->value,\n ]);\n\n return;\n }\n\n if (! in_array($crmObject, self::SUPPORTED_OBJECTS, true)) {\n $this->logger->debug('[RematchActivityOnCrmObjectDetach] Skipping rematch for CRM object type', [\n 'activity' => $activity->getId(),\n 'crm_object' => $crmObject->value,\n ]);\n\n return;\n }\n\n if ($activity->isTypeConference() &&\n ! in_array($activity->getStatus(), Activity::FINITE_STATES_CONFERENCE, true)\n ) {\n $this->logger\n ->info('[RematchActivityOnCrmObjectDetach] Skipping rematch for non-finite conference activity', [\n 'activity' => $activity->getId(),\n 'crm_object' => $crmObject->value,\n ]);\n\n return;\n }\n\n $this->logger->info('[RematchActivityOnCrmObjectDetach] Try to match new crm data for deleted object', [\n 'activity' => $activity->getId(),\n 'crm_object' => $crmObject->value,\n ]);\n\n Bus::chain([\n new MatchActivityCrmData(\n activityId: $activity->getId(),\n fromConfiguration: null,\n remoteSearch: false,\n ),\n new CheckAndRetryRemoteMatch(\n activityId: $activity->getId(),\n crmObject: $crmObject,\n ),\n ])->dispatch();\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide This Notification","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"35","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"33","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"63","depth":4,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports;\nwhere id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;\n\nselect * from opportunities where id = 7594349;\n\nSELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - jiminnyintegration@lesmills.com\nselect * from playbooks where team_id = 711; # event 226147\nSELECT * FROM playbook_categories WHERE playbook_id = 5515;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 692 and object_type = 'event';\nSELECT * FROM crm_fields WHERE id = 226147;\nSELECT * FROM crm_field_values WHERE crm_field_id = 226147;\n\nSELECT * FROM crm_configurations WHERE id = 692;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 711 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles cp JOIN users u on u.id = cp.user_id WHERE u.team_id = 711;\n\nselect * from leads;\n\nselect * from calendars;\n\nSELECT\n t.id AS team_id,\n t.name,\n LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domain\nFROM teams t\nJOIN users u ON u.team_id = t.id\nJOIN calendars c ON c.user_id = u.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%@%'\nLEFT JOIN team_domains td\n ON td.team_id = t.id\n AND td.deleted_at IS NULL\n AND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))\nGROUP BY t.id, t.name, calendar_domain\nORDER BY t.name, calendar_domain;\n\nselect * from users u join calendars c on c.user_id = u.id\nwhere u.team_id = 882;\n\n\nselect * from activities where id = 74049485; # team 563 crm 537\nselect * from activities where id = 73272382; # team 563 crm 537\nselect * from activities where id = 64400389; # team 563 crm 537\nselect * from activities where id = 58081273; # team 563 crm 537\nselect * from activities where id = 54520297; # team 563 crm 537\nselect * from participants where activity_id = 58081273;\n\nselect * from activities where crm_configuration_id = 537 and provider = 'aircall'\nand account_id = 19003658 order by updated_at desc;\n\nselect * from contacts where crm_configuration_id = 537 and id = 35957759;\nselect * from accounts where crm_configuration_id = 537 and id = 19003658;","depth":4,"value":"SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993\nSELECT * FROM users WHERE id = 25061;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 994;\nSELECT * FROM crm_profiles WHERE user_id = 25061;\n\nselect * from crm_configurations where id = 834;\nSELECT * FROM teams WHERE id = 882;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;\n\nSELECT * FROM contacts where crm_configuration_id = 834;\nSELECT * FROM opportunities WHERE team_id = 933\n# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');\nAND id IN (8482561,18352941,19042734,19232139,19445140,19472541);\nSELECT * FROM opportunity_contacts\nWHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 485; #\nSELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\nselect crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id\nwhere crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')\n# and l.converted_at IS NOT NULL\n;\n\n# ********************************************************************\nSELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')\nand opportunity_id IS NULL\norder by id desc;\n\nSELECT * FROM teams WHERE id = 604; # 598\nSELECT * FROM activities WHERE id = 74410828; # chelseaw@allvoices.co\nSELECT * FROM accounts WHERE id = 20068382;\nSELECT * FROM accounts WHERE id = 35186038;\n\nSELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 559 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;\nselect * from sidekick_settings where team_id = 781;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100\n\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 711;\nSELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL\nand is_internal = 0 and status = 'completed'\norder by id desc;\n\nSELECT * FROM crm_layout_entities\nWHERE crm_layout_id IN (2352, 2353);\n;\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 556 and sa.provider = 'hubspot';\n\nSELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;\nSELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;\nselect * from contacts\nwhere crm_configuration_id = 530\nand crm_provider_id = 872252;\n\nselect * from activities where crm_configuration_id = 530\nand user_id = 14343 and type like '%softphone%'\nand created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';\n\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya\nSELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);\n\n\nSELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t\nJOIN crm_configurations c ON t.id = c.team_id\nWHERE t.status = 'active';\n\nSELECT * FROM teams where id = 1091;\nSELECT * FROM crm_configurations where team_id = 1091;\nSELECT * FROM activity_providers where team_id = 1091;\nSELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT * FROM teams WHERE name LIKE '%Leadventure%';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1091 and sa.provider = 'salesforce';\n\nSELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812\nSELECT * FROM teams where id = 862;\nSELECT * FROM crm_configurations where team_id = 862;\nSELECT * FROM activity_providers where team_id = 862;\nSELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')\nand provider NOT IN ('hubspot', 'aircall')\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by id desc;\n\n\nSELECT t.id, crm.id, crm.provider, ap.* FROM teams t\njoin crm_configurations crm on t.id = crm.team_id\njoin activity_providers ap on t.id = ap.team_id\nwhere t.status = 'active' and ap.is_enabled = 1\nand crm.provider = 'hubspot'\nand ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',\n 'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');\n\nSELECT * FROM teams where id = 1068;\nSELECT * FROM crm_configurations where team_id = 1068;\nSELECT * FROM activity_providers where team_id = 1068;\n\nSELECT * FROM activities a\nwhere crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')\nand a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'\n )\n# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'\norder by a.id desc;\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1068 and sa.provider = 'hubspot';\n\n# ********************************************************************\n# ********************************************************************\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 933 and sa.provider = 'hubspot';\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262\nSELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 882 and sa.provider = 'hubspot';\nselect * from crm_layouts where crm_configuration_id = 834;\nselect * from crm_layout_entities where crm_layout_id = 2780;\nselect * from crm_fields where id IN (321153,321192,321193,321194);\n\nSELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1057 and sa.provider = 'hubspot';\n\nSELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8\n\nSELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20\n\nSELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last\n\nSELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10\n\nSELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2\n\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;\n\nSELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th\n# ********************************************************************\nSELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #\n\nSELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;\nselect * from users where team_id = 51; # 7783\nSELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130\nselect * from activity_searches where user_id = 7783;\nselect * from activity_search_filters where activity_search_id IN (32291, 32292);\n\nSELECT asf.activity_search_id, asf.id, asf.value\nFROM activity_search_filters asf\nWHERE asf.filter = 'group_id'\nAND asf.value IN (\n SELECT CONCAT(\n HEX(SUBSTR(uuid, 5, 4)), '-',\n HEX(SUBSTR(uuid, 3, 2)), '-',\n HEX(SUBSTR(uuid, 1, 2)), '-',\n HEX(SUBSTR(uuid, 9, 2)), '-',\n HEX(SUBSTR(uuid, 11))\n )\n FROM groups\n WHERE deleted_at IS NOT NULL\n);\n\nSELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th\n# ********************************************************************\nSELECT * FROM crm_configurations where provider = 'hubspot';\nSELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133\nSELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;\nSELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null\n# ********************************************************************\n\nselect * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';\nselect\n cp.*\n# DISTINCT t.id\n# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields\nFROM crm_profiles cp\nJOIN crm_configurations crm on crm.id = cp.crm_configuration_id\nJOIN users u on u.id = cp.user_id\nJOIN teams t ON t.id = crm.team_id\nWHERE crm.provider = 'salesforce' and t.status = 'active'\n and cp.archived_at IS NULL and u.deleted_at IS NULL\n and t.id NOT IN (1093)\n and t.id = 2\n and cp.contact_fields IS NULL;\n# and c.crm_provider_id = '003Uu00000ojD4NIAU';\n\nSELECT * FROM users WHERE id = 26484;\nSELECT * FROM crm_profiles WHERE user_id = 26484;\nSELECT * FROM social_accounts WHERE sociable_id = 26484;\nSELECT * FROM crm_configurations where provider = 'salesforce';\nselect * from users where id IN (10022, 10403);\nselect * from users where team_id IN (526);\nselect * from teams where id IN (526, 532);\nselect * from crm_configurations where id IN (500, 516);\nselect * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);\nselect * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 526 and sa.provider = 'salesforce';\nselect * from team_settings where team_id IN (526, 532);\n\nselect * from users where id IN (22824);\nselect * from crm_profiles where crm_configuration_id IN (1026);\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1093 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1099;\nselect * from users where id = 29643\n\nselect * from activity_processing_states;\n\nSELECT * FROM teams where name LIKE '%Fare%'; # 233\nSELECT * FROM opportunities where crm_configuration_id = 215\n# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'\n;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1088 and sa.provider = 'hubspot';\n\nSELECT * FROM teams order by updated_at DESC\nSELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account\n\nselect * from crm_configurations where provider = 'pipedrive';\n\nselect * from teams where id = 957;\nselect * from crm_configurations where id = 957;\n\nSELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743\nSELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;\n\nselect * from users where team_id = 1; # 26726 - Gabriela Dureva\nSELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific\nselect * from activities where user_id = 26726 order by id desc;\nselect * from contacts where crm_configuration_id = 1\nand email IN ('charlotte.ward@prolific.com', 'frankie.bryant@prolific.com'); # 2094416, 2093620\nSELECT * FROM contacts WHERE id = 6284931;\n\nSELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id\nWHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;\n\nselect * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);\nselect * from crm_configurations where id = 1;\n\n43801692-1aeb-32ce-acba-5b80a479701a\n44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b\n405975c0-b3d0-7aaa-821f-09d59cae6dd1\n4caf848d-4bed-2299-b248-7788d41f9fca\n49bedc3f-f196-eef3-89c3-dea6a3b4aa63\n43420989-a09d-b8f8-9806-c8bbf7a02aac\n\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nSELECT * FROM activities WHERE id = 75461988;\n\nSELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;\n\nselect * from contacts where id = 17900517;\n\nselect * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id\nwhere crm.provider != 'salesforce';\n\nselect * from users where id = 21047;\nSELECT * FROM crm_configurations WHERE id = 892;\nSELECT * FROM teams WHERE id = 942;\nselect * from opportunities where team_id = 942 order by updated_at desc;\nselect * from contacts where team_id = 942 order by updated_at desc;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 942 and sa.provider = 'hubspot';\n\nSELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430\nSELECT * FROM crm_configurations WHERE id = 1;\nSELECT * FROM teams WHERE crm_id = 1;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1 and sa.provider = 'salesforce';\n\nselect id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1\nSELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430\n\nselect * from teams where id = 852;\nselect * from groups where id = 2286;\nselect * from sidekick_settings where team_id = 852;\nselect * from default_activity_types where team_id = 852;\n\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1 AND u.deleted_at IS NULL\nAND u.crm_required = 1\nAND u.team_id = 1\nORDER BY u.team_id;\n\nSELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (\n18481\n );\n\nSELECT cc.provider, cc.id, p.id, u.*\nFROM users u\nLEFT JOIN crm_profiles p ON u.id = p.user_id\nINNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'\nINNER JOIN crm_configurations cc ON t.crm_id = cc.id\nWHERE u.status = 1\n AND u.deleted_at IS NULL\n AND u.crm_required = 1\n# AND u.team_id = 1\n AND p.id IS NULL -- Move this condition to WHERE clause\nORDER BY u.team_id;\n\nSELECT * FROM opportunities WHERE id = 20002609;\nselect * from teams where id = 1122; # Velatir, 29953 - christian@velatir.com\nselect * from crm_configurations where id = 1060;\nselect * from crm_layouts where crm_configuration_id = 1060;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 1122 and sa.provider = 'hubspot';\nselect * from opportunities where team_id = 1122 order by updated_at desc;\n\nselect * from crm_field_data where object_type = 'contact';\n\nSELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 248 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS\nSELECT * FROM users where id = 24115;\nSELECT * FROM accounts where id = 4002896;\nSELECT * FROM teams WHERE name LIKE '%adswerve%';\nSELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN (\"0069N000003GIQ9QAO\",\"0061r000019yGP9AAM\",\"0066900001S2KWlAAN\",\"0066900001TDpj2AAD\",\"0066900001b8uEwAAI\",\"0069N000001rQi0QAE\",\"006QF00000KD40mYAD\",\"006QF00000LzpRJYAZ\",\"0069N000002uomtQAA\",\"0069N000002xlMLQAY\",\"0066900001NV6ubAAD\",\"0061r00001HJp45AAD\",\"006QF00000uTlUoYAK\",\"006QF00000v0bZqYAI\");\nSELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203\n\nSELECT u.id, u.email, ac.name, a.* FROM activities a\nJOIN users u ON a.user_id = u.id\nJOIN accounts ac ON a.account_id = ac.id\nWHERE\nuuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or\nuuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or\nuuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;\n\nselect * from users where id = 5825;\nSELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;\n\nselect * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;\n19594, 862\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 862 and sa.provider = 'salesforce';\n\nselect * from automated_reports where id = 36;\nselect ar.frequency, r.*, ar.* from automated_report_results r\njoin automated_reports ar on r.report_id = ar.id\nwhere ar.frequency != 'one_off';\n\nselect s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;\nselect * from nudges n where n.activity_search_id\n\nselect * from teams where created_at > '2026-03-09';\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;\n\nselect * from users where team_id = 1 and name like '%Lukas%'; # 7160\n\nSELECT * FROM teams WHERE id = 575;\nselect * from opportunities where team_id = 575;\nSELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,\nselect * from opportunities where team_id = 1126;\nSELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,\nselect * from opportunities where team_id = 1125;\nselect * from contacts c\nwhere c.team_id = 882;\n\nSELECT * FROM activities WHERE id = 76822967;\nSELECT * FROM crm_profiles WHERE user_id = 15440;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 555;\nSELECT * FROM crm_configurations WHERE id = 555;\nSELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 581 and sa.provider = 'salesforce';\n\nSELECT * FROM automated_report_results order by id desc;\n\nselect * from features;\nselect * from team_features where feature_id = 40;\n\nselect * from teams where id = 556;\n\nselect * from automated_reports;\nwhere id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , [\"pdf\",\"podcast\"]\nSELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;\nselect * from automated_report_results order by id desc;\nSELECT * FROM automated_report_results WHERE id = 1919;\n\nselect * from automated_report_results WHERE report_id = 54;\n\nselect * from opportunities where id = 7594349;\n\nSELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - jiminnyintegration@lesmills.com\nselect * from playbooks where team_id = 711; # event 226147\nSELECT * FROM playbook_categories WHERE playbook_id = 5515;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 692 and object_type = 'event';\nSELECT * FROM crm_fields WHERE id = 226147;\nSELECT * FROM crm_field_values WHERE crm_field_id = 226147;\n\nSELECT * FROM crm_configurations WHERE id = 692;\nSELECT\n CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,\n u.email,\n sa.*,\n t.owner_id FROM social_accounts sa\nJOIN users u on u.id = sa.sociable_id\nJOIN teams t on t.id = u.team_id\nWHERE u.team_id = 711 and sa.provider = 'salesforce';\n\nSELECT * FROM crm_profiles cp JOIN users u on u.id = cp.user_id WHERE u.team_id = 711;\n\nselect * from leads;\n\nselect * from calendars;\n\nSELECT\n t.id AS team_id,\n t.name,\n LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domain\nFROM teams t\nJOIN users u ON u.team_id = t.id\nJOIN calendars c ON c.user_id = u.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%@%'\nLEFT JOIN team_domains td\n ON td.team_id = t.id\n AND td.deleted_at IS NULL\n AND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))\nGROUP BY t.id, t.name, calendar_domain\nORDER BY t.name, calendar_domain;\n\nselect * from users u join calendars c on c.user_id = u.id\nwhere u.team_id = 882;\n\n\nselect * from activities where id = 74049485; # team 563 crm 537\nselect * from activities where id = 73272382; # team 563 crm 537\nselect * from activities where id = 64400389; # team 563 crm 537\nselect * from activities where id = 58081273; # team 563 crm 537\nselect * from activities where id = 54520297; # team 563 crm 537\nselect * from participants where activity_id = 58081273;\n\nselect * from activities where crm_configuration_id = 537 and provider = 'aircall'\nand account_id = 19003658 order by updated_at desc;\n\nselect * from contacts where crm_configuration_id = 537 and id = 35957759;\nselect * from accounts where crm_configuration_id = 537 and id = 19003658;","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Project","depth":3,"role_description":"text"},{"role":"AXButton","text":"Project","depth":3,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New File or Directory…","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Expand Selected","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Collapse All","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Options","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.018055556,"height":0.026666667},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-9057205676654510116
|
2218635362830792269
|
app_switch
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20372-ai-reports-promo Project: faVsco.js, menu
JY-20372-ai-reports-promotion-pages, menu
Start Listening for PHP Debug Connections
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
4
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Listeners\Crm;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Bus;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Jobs\Crm\CheckAndRetryRemoteMatch;
use Jiminny\Jobs\Crm\MatchActivityCrmData;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
readonly class RematchActivityOnCrmObjectDetach implements ShouldQueue
{
private const array SUPPORTED_OBJECTS = [
CrmObject::LEAD,
CrmObject::OPPORTUNITY,
CrmObject::CONTACT,
CrmObject::ACCOUNT,
];
public function __construct(
private LoggerInterface $logger,
) {
}
public function handle(DetachActivityObject $event): void
{
$crmObject = $event->getCrmObject();
$activity = $event->getActivity();
if ($activity->trashed()) {
$this->logger->info('[RematchActivityOnCrmObjectDetach] Skipping rematch for soft-deleted activity', [
'activity' => $activity->getId(),
'crm_object' => $crmObject->value,
]);
return;
}
if (! in_array($crmObject, self::SUPPORTED_OBJECTS, true)) {
$this->logger->debug('[RematchActivityOnCrmObjectDetach] Skipping rematch for CRM object type', [
'activity' => $activity->getId(),
'crm_object' => $crmObject->value,
]);
return;
}
if ($activity->isTypeConference() &&
! in_array($activity->getStatus(), Activity::FINITE_STATES_CONFERENCE, true)
) {
$this->logger
->info('[RematchActivityOnCrmObjectDetach] Skipping rematch for non-finite conference activity', [
'activity' => $activity->getId(),
'crm_object' => $crmObject->value,
]);
return;
}
$this->logger->info('[RematchActivityOnCrmObjectDetach] Try to match new crm data for deleted object', [
'activity' => $activity->getId(),
'crm_object' => $crmObject->value,
]);
Bus::chain([
new MatchActivityCrmData(
activityId: $activity->getId(),
fromConfiguration: null,
remoteSearch: false,
),
new CheckAndRetryRemoteMatch(
activityId: $activity->getId(),
crmObject: $crmObject,
),
])->dispatch();
}
}
Execute
Explain Plan
Browse Query History
View Parameters
Open Query Execution Settings…
In-Editor Results
Tx: Auto
Cancel Running Statements
Playground
jiminny
Sync Changes
Hide This Notification
Code changed:
Hide
35
1
33
63
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE name LIKE '%litify%'; # 1069, 994, 24993
SELECT * FROM users WHERE id = 25061;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 994;
SELECT * FROM crm_profiles WHERE user_id = 25061;
select * from crm_configurations where id = 834;
SELECT * FROM teams WHERE id = 882;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations WHERE provider = 'hubspot' and crm_provider_id = 7270388;
SELECT * FROM contacts where crm_configuration_id = 834;
SELECT * FROM opportunities WHERE team_id = 933
# AND crm_provider_id IN ('20131586060','46017317898','52543911090','53451356564','54101251892','54323768459');
AND id IN (8482561,18352941,19042734,19232139,19445140,19472541);
SELECT * FROM opportunity_contacts
WHERE opportunity_id IN (8482561,18352941,19042734,19232139,19445140,19472541);
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 485; #
SELECT * FROM opportunities WHERE team_id = 933 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
select crm.provider, l.* from leads l join crm_configurations crm on l.crm_configuration_id = crm.id
where crm.provider NOT IN ('salesforce', 'integration-app', 'bullhorn', 'copper')
# and l.converted_at IS NOT NULL
;
# [PASSWORD_DOTS]
SELECT * FROM activities a WHERE type IN ('email-inbound', 'email-outbound')
and opportunity_id IS NULL
order by id desc;
SELECT * FROM teams WHERE id = 604; # 598
SELECT * FROM activities WHERE id = 74410828; # [EMAIL]
SELECT * FROM accounts WHERE id = 20068382;
SELECT * FROM accounts WHERE id = 35186038;
SELECT * FROM contacts WHERE team_id = 852 and updated_at > '2026-01-23 12:30:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 559 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('cb6342b6-a183-401c-b0af-ede92b2ae763') = uuid;
select * from sidekick_settings where team_id = 781;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 26651871; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 7562435;
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8420347; # opflit 2100
SELECT * FROM crm_layouts WHERE crm_configuration_id = 711;
SELECT * FROM activities where crm_configuration_id = 711 and crm_provider_id IS NULL
and is_internal = 0 and status = 'completed'
order by id desc;
SELECT * FROM crm_layout_entities
WHERE crm_layout_id IN (2352, 2353);
;
SELECT * FROM crm_configurations where provider = 'hubspot' and id = 530;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 556 and sa.provider = 'hubspot';
SELECT * FROM activities WHERE uuid_to_bin('c6ca4b22-7738-4563-a95d-b8a9598924ae') = uuid;
SELECT * FROM activities WHERE uuid_to_bin('442abb2b-28bd-4be8-9c25-19e9bf02766d') = uuid;
select * from contacts
where crm_configuration_id = 530
and crm_provider_id = 872252;
select * from activities where crm_configuration_id = 530
and user_id = 14343 and type like '%softphone%'
and created_at between '2026-01-28 15:00:00' and '2026-01-28 15:10:00';
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 25666868; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id = 8646335; # Teya
SELECT * FROM crm_configurations where provider = 'hubspot' and crm_provider_id IN (5933397);
SELECT t.name, t.id, t.owner_id, c.id, c.provider, c.crm_base_url FROM teams t
JOIN crm_configurations c ON t.id = c.team_id
WHERE t.status = 'active';
SELECT * FROM teams where id = 1091;
SELECT * FROM crm_configurations where team_id = 1091;
SELECT * FROM activity_providers where team_id = 1091;
SELECT * FROM activities where crm_configuration_id = 1024 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT * FROM teams WHERE name LIKE '%Leadventure%';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1091 and sa.provider = 'salesforce';
SELECT * FROM teams WHERE name LIKE '%Wilson%'; # 862, 812
SELECT * FROM teams where id = 862;
SELECT * FROM crm_configurations where team_id = 862;
SELECT * FROM activity_providers where team_id = 862;
SELECT * FROM activities where crm_configuration_id = 812 and type IN ('softphone', 'softphone-outbound')
and provider NOT IN ('hubspot', 'aircall')
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by id desc;
SELECT t.id, crm.id, crm.provider, ap.* FROM teams t
join crm_configurations crm on t.id = crm.team_id
join activity_providers ap on t.id = ap.team_id
where t.status = 'active' and ap.is_enabled = 1
and crm.provider = 'hubspot'
and ap.provider NOT IN ('hubspot', 'aircall', 'uploader', 'gong', 'twilio', 'zoom-bot', 'google-meet', 'ms-teams',
'outreach', 'close', 'ringcentral', 'dialpad', 'zoom-phone');
SELECT * FROM teams where id = 1068;
SELECT * FROM crm_configurations where team_id = 1068;
SELECT * FROM activity_providers where team_id = 1068;
SELECT * FROM activities a
where crm_configuration_id = 993 and type IN ('softphone', 'softphone-outbound')
and a.provider NOT IN ('hubspot', 'uploader', 'gong', 'twilio', 'google-meet', 'ms-teams','close'
)
# and telephony_provider_id = '019c1131-a22f-4792-b9ea-20adf6a02ed0'
order by a.id desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1068 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 882; # 933 - GoGlobal , portalId: 6017093
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 933 and updated_at > '2026-02-06 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 933 and sa.provider = 'hubspot';
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 834; # 882 - AnyVan , portalId: 5468262
SELECT * FROM contacts WHERE crm_configuration_id = 834 and updated_at > '2026-03-30 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and updated_at > '2026-03-04 08:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 882 and sa.provider = 'hubspot';
select * from crm_layouts where crm_configuration_id = 834;
select * from crm_layout_entities where crm_layout_id = 2780;
select * from crm_fields where id IN (321153,321192,321193,321194);
SELECT * FROM opportunities WHERE crm_configuration_id = 834 and id = 10993426;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 988; # 1057 - Teya (543ce4f4-168c-4571-91ea-5b35c253f06f) , portalId: 26651871
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1057 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1057 and sa.provider = 'hubspot';
SELECT * FROM crm_configurations where id = 533; # 559 - Connectd , portalId: 6710988
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 559 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 801; # 852 - Rise Vision , portalId: 2700250
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 852 and updated_at > '2026-02-04 00:00:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 962; # 1034 - evergrowth.io , portalId: 143180990
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1034 and updated_at > '2026-02-04 00:00:00' order by updated_at desc;
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 1037; # 1102 - Jibble , portalId: 6649755
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1102 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 8
SELECT * FROM crm_configurations where id = 1015; # 1049 - Travefy , portalId: 48904401
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1049 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 20
SELECT * FROM crm_configurations where id = 64; # 70 - SalaryFinance , portalId: 3404115
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 70 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 6th last
SELECT * FROM crm_configurations where id = 802; # 853 - Street Group , portalId: 7658438
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 853 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 10
SELECT * FROM crm_configurations where id = 872; # 921 - In Professional Development , portalId: 9238273
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 921 and updated_at > '2026-02-04 12:30:00' order by updated_at desc; # 2
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 550; # 576 - SeedLegals , portalId: 3028661
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 576 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 989; # 1058 - rtaoutdoor.com , portalId: 22371204
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1058 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 896; # 946 - Mintago , portalId: 6621281
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 946 and updated_at > '2026-02-05 14:00:00' order by updated_at desc;
SELECT * FROM crm_configurations where id = 617; # 641 - PCS , portalId: 5244937
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 641 and updated_at > '2026-02-05 14:00:00' order by updated_at desc; # 7th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where id = 649; # 670 - Eventeny , portalId: 4492849
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-18 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 670 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; #
SELECT * FROM crm_configurations where id = 48; # 51 - CleanCloud , portalId: 4373137
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-03-04 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 51 and updated_at > '2026-02-09 08:00:00' order by updated_at desc;
select * from users where team_id = 51; # 7783
SELECT * FROM groups WHERE uuid_to_bin('8a8d2cb6-8b55-4fa3-8b5c-5f0e3d8de59a') = uuid; # 1130
select * from activity_searches where user_id = 7783;
select * from activity_search_filters where activity_search_id IN (32291, 32292);
SELECT asf.activity_search_id, asf.id, asf.value
FROM activity_search_filters asf
WHERE asf.filter = 'group_id'
AND asf.value IN (
SELECT CONCAT(
HEX(SUBSTR(uuid, 5, 4)), '-',
HEX(SUBSTR(uuid, 3, 2)), '-',
HEX(SUBSTR(uuid, 1, 2)), '-',
HEX(SUBSTR(uuid, 9, 2)), '-',
HEX(SUBSTR(uuid, 11))
)
FROM groups
WHERE deleted_at IS NOT NULL
);
SELECT * FROM crm_configurations where id = 272; # 290 - Bonham & Brook , portalId: 5705856
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-05 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 290 and updated_at > '2026-02-09 08:00:00' order by updated_at desc; # 6th
# [PASSWORD_DOTS]
SELECT * FROM crm_configurations where provider = 'hubspot';
SELECT * FROM crm_configurations where id = 1056; # 1119 - Chromatic , portalId: 45602133
SELECT * FROM opportunities WHERE team_id = 1119 and remotely_created_at > '2026-02-01 00:00:00' order by updated_at desc;
SELECT * FROM opportunities WHERE team_id = 1119 and updated_at > '2026-02-09 09:00:00' order by updated_at desc; # null
# [PASSWORD_DOTS]
select * from contacts where crm_provider_id = '003Uu00000ojD4NIAU';
select
cp.*
# DISTINCT t.id
# cp.id, cp.user_id, t.id, cp.crm_configuration_id, cp.contact_fields
FROM crm_profiles cp
JOIN crm_configurations crm on crm.id = cp.crm_configuration_id
JOIN users u on u.id = cp.user_id
JOIN teams t ON t.id = crm.team_id
WHERE crm.provider = 'salesforce' and t.status = 'active'
and cp.archived_at IS NULL and u.deleted_at IS NULL
and t.id NOT IN (1093)
and t.id = 2
and cp.contact_fields IS NULL;
# and c.crm_provider_id = '003Uu00000ojD4NIAU';
SELECT * FROM users WHERE id = 26484;
SELECT * FROM crm_profiles WHERE user_id = 26484;
SELECT * FROM social_accounts WHERE sociable_id = 26484;
SELECT * FROM crm_configurations where provider = 'salesforce';
select * from users where id IN (10022, 10403);
select * from users where team_id IN (526);
select * from teams where id IN (526, 532);
select * from crm_configurations where id IN (500, 516);
select * from crm_profiles where crm_configuration_id IN (500, 516) and user_id IN (10022, 10403);
select * from contacts where crm_configuration_id IN (500, 516) and crm_provider_id = '003Uu00000ojD4NIAU';
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 526 and sa.provider = 'salesforce';
select * from team_settings where team_id IN (526, 532);
select * from users where id IN (22824);
select * from crm_profiles where crm_configuration_id IN (1026);
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1093 and sa.provider = 'salesforce';
select * from teams where id = 1099;
select * from users where id = 29643
select * from activity_processing_states;
SELECT * FROM teams where name LIKE '%Fare%'; # 233
SELECT * FROM opportunities where crm_configuration_id = 215
# and crm_provider_id = 'oppo_ogESZf2P50nDrd1nGPvKDXeA6sSaTN5v51Lp4ayVzKR'
;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1088 and sa.provider = 'hubspot';
SELECT * FROM teams order by updated_at DESC
SELECT * FROM crm_configurations WHERE id = 1019; # SimpleConsign 1088 - no social account
select * from crm_configurations where provider = 'pipedrive';
select * from teams where id = 957;
select * from crm_configurations where id = 957;
SELECT * FROM teams WHERE name LIKE '%Prolific%'; # 544, 518, 10743
SELECT * FROM opportunities where crm_configuration_id = 518 order by id desc;
select * from users where team_id = 1; # 26726 - Gabriela Dureva
SELECT * FROM opportunities where user_id = 26726; # 16834447 - Prolific
select * from activities where user_id = 26726 order by id desc;
select * from contacts where crm_configuration_id = 1
and email IN ('[EMAIL]', '[EMAIL]'); # 2094416, 2093620
SELECT * FROM contacts WHERE id = 6284931;
SELECT p.* FROM activities a JOIN participants p ON a.id = p.activity_id
WHERE a.user_id = 26726 and p.lead_id IN (2094416, 2093620) and a.created_at > '2026-01-01 00:00:00' order by p.email;
select * from activities where id IN (75509259,75509261,75509261,75511034,75026464,75517602,75517605);
select * from crm_configurations where id = 1;
43801692-1aeb-32ce-acba-5b80a479701a
44c3c9cf-6f5e-75f3-8179-bc9f75dd2b1b
405975c0-b3d0-7aaa-821f-09d59cae6dd1
4caf848d-4bed-2299-b248-7788d41f9fca
49bedc3f-f196-eef3-89c3-dea6a3b4aa63
43420989-a09d-b8f8-9806-c8bbf7a02aac
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
SELECT * FROM activities WHERE id = 75461988;
SELECT * FROM activities WHERE uuid_to_bin('d6c5052e-e972-49e9-8912-26f2f7d6c5f6') = uuid;
select * from contacts where id = 17900517;
select * from contact_roles cr join crm_configurations crm on cr.crm_configuration_id = crm.id
where crm.provider != 'salesforce';
select * from users where id = 21047;
SELECT * FROM crm_configurations WHERE id = 892;
SELECT * FROM teams WHERE id = 942;
select * from opportunities where team_id = 942 order by updated_at desc;
select * from contacts where team_id = 942 order by updated_at desc;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 942 and sa.provider = 'hubspot';
SELECT * FROM opportunities where team_id = 1 and crm_provider_id IN ('006Pq00000NeH6XIAV', '006Pq000007z8kdIAA'); # 10697889, 6621430
SELECT * FROM crm_configurations WHERE id = 1;
SELECT * FROM teams WHERE crm_id = 1;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1 and sa.provider = 'salesforce';
select id, user_id, opportunity_fields from crm_profiles where crm_configuration_id = 1
SELECT * FROM opportunities where team_id = 1 order by updated_at desc; # 10697889, 6621430
select * from teams where id = 852;
select * from groups where id = 2286;
select * from sidekick_settings where team_id = 852;
select * from default_activity_types where team_id = 852;
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id AND p.id IS NULL -- no profile
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active' -- team is active
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1 AND u.deleted_at IS NULL
AND u.crm_required = 1
AND u.team_id = 1
ORDER BY u.team_id;
SELECT * FROM crm_profiles cp where cp.crm_configuration_id = 1 and cp.user_id IN (
18481
);
SELECT cc.provider, cc.id, p.id, u.*
FROM users u
LEFT JOIN crm_profiles p ON u.id = p.user_id
INNER JOIN teams t ON u.team_id = t.id AND t.status = 'active'
INNER JOIN crm_configurations cc ON t.crm_id = cc.id
WHERE u.status = 1
AND u.deleted_at IS NULL
AND u.crm_required = 1
# AND u.team_id = 1
AND p.id IS NULL -- Move this condition to WHERE clause
ORDER BY u.team_id;
SELECT * FROM opportunities WHERE id = 20002609;
select * from teams where id = 1122; # Velatir, 29953 - [EMAIL]
select * from crm_configurations where id = 1060;
select * from crm_layouts where crm_configuration_id = 1060;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3596;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 1122 and sa.provider = 'hubspot';
select * from opportunities where team_id = 1122 order by updated_at desc;
select * from crm_field_data where object_type = 'contact';
SELECT * FROM activities WHERE uuid_to_bin('374fc8ed-3315-4c9f-9b25-318b7fd2928f') = uuid; # 76584262
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 248 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles where user_id = 24115; # 005QF000002CswMYAS
SELECT * FROM users where id = 24115;
SELECT * FROM accounts where id = 4002896;
SELECT * FROM teams WHERE name LIKE '%adswerve%';
SELECT * FROM opportunities where crm_configuration_id = 230 AND crm_provider_id IN ("0069N000003GIQ9QAO","0061r000019yGP9AAM","0066900001S2KWlAAN","0066900001TDpj2AAD","0066900001b8uEwAAI","0069N000001rQi0QAE","006QF00000KD40mYAD","006QF00000LzpRJYAZ","0069N000002uomtQAA","0069N000002xlMLQAY","0066900001NV6ubAAD","0061r00001HJp45AAD","006QF00000uTlUoYAK","006QF00000v0bZqYAI");
SELECT * FROM opportunities WHERE crm_configuration_id = 230 AND crm_provider_id = '0069N000003GIQ9QAO'; # 6272203
SELECT u.id, u.email, ac.name, a.* FROM activities a
JOIN users u ON a.user_id = u.id
JOIN accounts ac ON a.account_id = ac.id
WHERE
uuid_to_bin('e3269598-b562-44fb-b5e9-9d2694dc63e0') = a.uuid or
uuid_to_bin('66ddc3ab-4e15-45aa-af0c-248c1eece593') = a.uuid or
uuid_to_bin('826bd328-e1cc-4213-b8d8-572454cacc07') = a.uuid;
select * from users where id = 5825;
SELECT * FROM activities WHERE uuid_to_bin('e56aa2e8-231a-421b-ab1f-cb38ed2bf573') = uuid;
select * from activities where uuid_to_bin('91e13b2f-2d1b-45f8-b1fd-1141b6563782') = uuid;
19594, 862
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 862 and sa.provider = 'salesforce';
select * from automated_reports where id = 36;
select ar.frequency, r.*, ar.* from automated_report_results r
join automated_reports ar on r.report_id = ar.id
where ar.frequency != 'one_off';
select s.* from activity_searches s join users u ON s.user_id = u.id where u.team_id = 882;
select * from nudges n where n.activity_search_id
select * from teams where created_at > '2026-03-09';
SELECT * FROM crm_layouts WHERE crm_configuration_id = 1065; # 1065
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 3617;
select * from users where team_id = 1 and name like '%Lukas%'; # 7160
SELECT * FROM teams WHERE id = 575;
select * from opportunities where team_id = 575;
SELECT * FROM teams WHERE name LIKE '%Integrum ESG%'; # 1126, 1065,
select * from opportunities where team_id = 1126;
SELECT * FROM teams WHERE name LIKE '%Base%'; # 1125, 1063,
select * from opportunities where team_id = 1125;
select * from contacts c
where c.team_id = 882;
SELECT * FROM activities WHERE id = 76822967;
SELECT * FROM crm_profiles WHERE user_id = 15440;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 555;
SELECT * FROM crm_configurations WHERE id = 555;
SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 581 and sa.provider = 'salesforce';
SELECT * FROM automated_report_results order by id desc;
select * from features;
select * from team_features where feature_id = 40;
select * from teams where id = 556;
select * from automated_reports;
where id = 54; # 4fdd41f6-dcf0-30d0-b339-7345381b6044 , ["pdf","podcast"]
SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuid;
select * from automated_report_results order by id desc;
SELECT * FROM automated_report_results WHERE id = 1919;
select * from automated_report_results WHERE report_id = 54;
select * from opportunities where id = 7594349;
SELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - [EMAIL]
select * from playbooks where team_id = 711; # event 226147
SELECT * FROM playbook_categories WHERE playbook_id = 5515;
SELECT * FROM crm_fields WHERE crm_configuration_id = 692 and object_type = 'event';
SELECT * FROM crm_fields WHERE id = 226147;
SELECT * FROM crm_field_values WHERE crm_field_id = 226147;
SELECT * FROM crm_configurations WHERE id = 692;
SELECT
CONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) AS user_id,
u.email,
sa.*,
t.owner_id FROM social_accounts sa
JOIN users u on u.id = sa.sociable_id
JOIN teams t on t.id = u.team_id
WHERE u.team_id = 711 and sa.provider = 'salesforce';
SELECT * FROM crm_profiles cp JOIN users u on u.id = cp.user_id WHERE u.team_id = 711;
select * from leads;
select * from calendars;
SELECT
t.id AS team_id,
t.name,
LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1)) AS calendar_domain
FROM teams t
JOIN users u ON u.team_id = t.id
JOIN calendars c ON c.user_id = u.id AND c.status = 'active' AND c.calendar_provider_id LIKE '%@%'
LEFT JOIN team_domains td
ON td.team_id = t.id
AND td.deleted_at IS NULL
AND td.domain = LOWER(SUBSTRING_INDEX(c.calendar_provider_id, '@', -1))
GROUP BY t.id, t.name, calendar_domain
ORDER BY t.name, calendar_domain;
select * from users u join calendars c on c.user_id = u.id
where u.team_id = 882;
select * from activities where id = 74049485; # team 563 crm 537
select * from activities where id = 73272382; # team 563 crm 537
select * from activities where id = 64400389; # team 563 crm 537
select * from activities where id = 58081273; # team 563 crm 537
select * from activities where id = 54520297; # team 563 crm 537
select * from participants where activity_id = 58081273;
select * from activities where crm_configuration_id = 537 and provider = 'aircall'
and account_id = 19003658 order by updated_at desc;
select * from contacts where crm_configuration_id = 537 and id = 35957759;
select * from accounts where crm_configuration_id = 537 and id = 19003658;
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
|
68762
|
1561
|
33
|
2026-04-22T06:36:57.230995+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839817230_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-5655072487728573013
|
-1076393250764739618
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68763
|
1560
|
29
|
2026-04-22T06:36:57.785831+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839817785_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
-5655072487728573013
|
-1076393250764739618
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68764
|
1560
|
30
|
2026-04-22T06:36:58.630982+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839818630_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ cs
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ cs","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ cs","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
9167177718732413585
|
-1076393251031077922
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ cs
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68765
|
1560
|
31
|
2026-04-22T06:37:11.307580+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839831307_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue Apr 21 09:09:21 on ttys011
Poetry Last login: Tue Apr 21 09:09:21 on ttys011
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ dev
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue Apr 21 09:09:21 on ttys011\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ dev","depth":4,"bounds":{"left":0.0,"top":0.08777778,"width":1.0,"height":0.9122222},"value":"Last login: Tue Apr 21 09:09:21 on ttys011\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ dev","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
-5789951202753604185
|
-4142724472167643885
|
click
|
accessibility
|
NULL
|
Last login: Tue Apr 21 09:09:21 on ttys011
Poetry Last login: Tue Apr 21 09:09:21 on ttys011
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ dev
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
68764
|
|
68766
|
1560
|
32
|
2026-04-22T06:37:12.625146+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839832625_m1.jpg...
|
iTerm2
|
EU (ssh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
docker_lamp_1 | ⇂ '/usr/local/bin/php' docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:15 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:16 Running ['artisan' conference:pre-meeting-notification] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:17 Running ['artisan' conference:monitor:start] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:22 Running ['artisan' conference:monitor:end] ..... 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:26 Running ['artisan' jiminny:fix-hubspot-tokens] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' conference:pre-meeting-reminder] in background 8.73ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' hubspot:journal-poll --start] in background 3.52ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:38 Running ['artisan' crm:reset-governor] [PASSWORD_DOTS] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:46 Running ['artisan' datadog:report:processing-sla-activities] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:51 Running ['artisan' activity:sync --from='2026-04-21 16:44:00' --to='2026-04-21 17:00:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:44:00' --to='2026-04-21 17:00:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:58 Running ['artisan' mailbox:batch:fail-stalled] 2026-04-21 17:00:58 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:00:59 Jiminny\Jobs\Activity\SyncActivity ....... 887.99ms DONE
docker_lamp_1 | 2026-04-21 17:00:59 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:00 Jiminny\Jobs\Activity\SyncActivity ....... 668.41ms DONE
docker_lamp_1 | 2026-04-21 17:01:00 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:00 Jiminny\Jobs\Activity\SyncActivity ....... 407.66ms DONE
docker_lamp_1 | 2026-04-21 17:01:00 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:01 Jiminny\Jobs\Activity\SyncActivity ....... 438.41ms DONE
docker_lamp_1 | 2026-04-21 17:01:01 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:01 Jiminny\Jobs\Activity\SyncActivity ....... 340.51ms DONE
docker_lamp_1 | 2026-04-21 17:01:01 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:03 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:fail-stalled > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:04 Running ['artisan' jiminny:transcription:retry-stuck] No stuck transcriptions found.
docker_lamp_1 | 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-stuck > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:10 Running ['artisan' automated-reports:send] ..... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' automated-reports:send > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:16 Running ['artisan' deal-insights:send-update] .. 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' deal-insights:send-update > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:22 Running ['artisan' activity:sync 'cloud-talk' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloud-talk' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:28 Running ['artisan' activity:sync 'vonage' --from='2026-04-21 11:00:00' --to='2026-04-21 17:00:00'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'vonage' --from='2026-04-21 11:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:35 Running ['artisan' activity:sync 'cloudcall' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 11s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:46 Running ['artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:52 Running ['artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:00 Running ['artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00'] 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:09 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:02:10 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:02:11 Jiminny\Jobs\Activity\SyncActivity ....... 717.23ms DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:19 Running ['artisan' nudges:send --silent] ...... 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:29 Running ['artisan' jiminny:playlists:normalize-sort] 2026-04-21 17:02:29 Jiminny\Component\Nudge\Job\ProcessUserNudgesJob RUNNING
docker_lamp_1 | 2026-04-21 17:02:29 Jiminny\Component\Nudge\Job\ProcessUserNudgesJob 183.65ms DONE
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:03:07 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:14 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:21 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:28 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 11.29ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:04:07 Running ['artisan' meeting-bot:schedule-bot] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:12 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:18 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:25 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:30 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:33 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:05:05 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:06 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:07 Running ['artisan' jiminny:monitor-social-accounts] 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:09 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:11 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:12 Running ['artisan' activity:purge-stale] ....... 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:16 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:23 Running ['artisan' conference:pre-meeting-notification] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:28 Running ['artisan' conference:monitor:start] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:32 Running ['artisan' conference:monitor:end] ..... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:37 Running ['artisan' jiminny:fix-hubspot-tokens] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' conference:pre-meeting-reminder] in background 10.12ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' hubspot:journal-poll --start] in background 4.49ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)
docker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)
docker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)
docker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)
docker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...
docker_lamp_1 | Dispatched 4 HubSpot sync jobs
docker_lamp_1 | ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ...... 803.44ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ....... 11.39ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 7.24ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 8.32ms DONE
docker_lamp_1 | {"canceled":46}...... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 62.98ms DONE
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:18 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 899.81ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] 53.80ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] [PASSWORD_DOTS] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches ....... 107.78ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)
docker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...
docker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...
docker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)
docker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)
docker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)
docker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)
docker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)
docker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...
docker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...
docker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...
docker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)
docker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:10 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 31.97ms DONE
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 674.13ms DONE
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 13.23ms DONE
docker_lamp_1 | 2026-04-21 17:14:14 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:16 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 466.00ms DONE
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 28.71ms DONE
docker_lamp_1 | 2026-04-21 17:14:18 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:19 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 56.51ms DONE
docker_lamp_1 | 2026-04-21 17:14:21 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 463.34ms DONE
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 23.02ms DONE
docker_lamp_1 | 2026-04-21 17:14:24 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 2s DONE
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 518.85ms DONE
docker_lamp_1 | 2026-04-21 17:14:31 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:32 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 515.39ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity ....... 883.81ms DONE
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity ....... 769.00ms DONE
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 599.40ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 413.70ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:53 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | ....... 7s DONE
docker_lamp_1 | 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches ....... 122.90ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:15 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:16 Running ['artisan' conference:pre-meeting-notification] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:17 Running ['artisan' conference:monitor:start] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:22 Running ['artisan' conference:monitor:end] ..... 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:26 Running ['artisan' jiminny:fix-hubspot-tokens] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' conference:pre-meeting-reminder] in background 8.73ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' hubspot:journal-poll --start] in background 3.52ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:38 Running ['artisan' crm:reset-governor] ......... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:46 Running ['artisan' datadog:report:processing-sla-activities] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:51 Running ['artisan' activity:sync --from='2026-04-21 16:44:00' --to='2026-04-21 17:00:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:44:00' --to='2026-04-21 17:00:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:58 Running ['artisan' mailbox:batch:fail-stalled] 2026-04-21 17:00:58 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:00:59 Jiminny\\Jobs\\Activity\\SyncActivity ....... 887.99ms DONE\ndocker_lamp_1 | 2026-04-21 17:00:59 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:00 Jiminny\\Jobs\\Activity\\SyncActivity ....... 668.41ms DONE\ndocker_lamp_1 | 2026-04-21 17:01:00 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:00 Jiminny\\Jobs\\Activity\\SyncActivity ....... 407.66ms DONE\ndocker_lamp_1 | 2026-04-21 17:01:00 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:01 Jiminny\\Jobs\\Activity\\SyncActivity ....... 438.41ms DONE\ndocker_lamp_1 | 2026-04-21 17:01:01 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:01 Jiminny\\Jobs\\Activity\\SyncActivity ....... 340.51ms DONE\ndocker_lamp_1 | 2026-04-21 17:01:01 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:03 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:fail-stalled > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:04 Running ['artisan' jiminny:transcription:retry-stuck] No stuck transcriptions found.\ndocker_lamp_1 | 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-stuck > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:10 Running ['artisan' automated-reports:send] ..... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' automated-reports:send > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:16 Running ['artisan' deal-insights:send-update] .. 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' deal-insights:send-update > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:22 Running ['artisan' activity:sync 'cloud-talk' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloud-talk' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:28 Running ['artisan' activity:sync 'vonage' --from='2026-04-21 11:00:00' --to='2026-04-21 17:00:00'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'vonage' --from='2026-04-21 11:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:35 Running ['artisan' activity:sync 'cloudcall' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 11s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:46 Running ['artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:52 Running ['artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:00 Running ['artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00'] 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:09 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:02:10 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:02:11 Jiminny\\Jobs\\Activity\\SyncActivity ....... 717.23ms DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:19 Running ['artisan' nudges:send --silent] ...... 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:29 Running ['artisan' jiminny:playlists:normalize-sort] 2026-04-21 17:02:29 Jiminny\\Component\\Nudge\\Job\\ProcessUserNudgesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:02:29 Jiminny\\Component\\Nudge\\Job\\ProcessUserNudgesJob 183.65ms DONE\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:03:07 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:14 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:21 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:28 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 11.29ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:04:07 Running ['artisan' meeting-bot:schedule-bot] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:12 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:18 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:25 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:30 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:33 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:05:05 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:06 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:07 Running ['artisan' jiminny:monitor-social-accounts] 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:09 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:11 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:12 Running ['artisan' activity:purge-stale] ....... 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:16 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:23 Running ['artisan' conference:pre-meeting-notification] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:28 Running ['artisan' conference:monitor:start] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:32 Running ['artisan' conference:monitor:end] ..... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:37 Running ['artisan' jiminny:fix-hubspot-tokens] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' conference:pre-meeting-reminder] in background 10.12ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' hubspot:journal-poll --start] in background 4.49ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)\ndocker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)\ndocker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)\ndocker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)\ndocker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Dispatched 4 HubSpot sync jobs\ndocker_lamp_1 | ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ...... 803.44ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ....... 11.39ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 7.24ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 8.32ms DONE\ndocker_lamp_1 | {\"canceled\":46}...... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.\ndocker_lamp_1 | ............... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ............ 62.98ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:18 Jiminny\\Jobs\\Mailbox\\SyncInbox ........... 899.81ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ........ 53.80ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] ........ 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 107.78ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)\ndocker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)\ndocker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)\ndocker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)\ndocker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)\ndocker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)\ndocker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)\ndocker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)\ndocker_lamp_1 | ........... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:10 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\SyncObjects .............. 31.97ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 674.13ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects .............. 13.23ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:14 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:15 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:16 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 466.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects .............. 28.71ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:18 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:19 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects .............. 56.51ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:21 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 463.34ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects .............. 23.02ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:24 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\SyncObjects ................... 2s DONE\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 518.85ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:31 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:32 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 515.39ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ....... 883.81ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ....... 769.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 599.40ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 413.70ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:53 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | ....... 7s DONE\ndocker_lamp_1 | 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 122.90ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \nunexpected EOF\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $","depth":4,"value":"docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:15 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:16 Running ['artisan' conference:pre-meeting-notification] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:17 Running ['artisan' conference:monitor:start] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:22 Running ['artisan' conference:monitor:end] ..... 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:26 Running ['artisan' jiminny:fix-hubspot-tokens] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' conference:pre-meeting-reminder] in background 8.73ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' hubspot:journal-poll --start] in background 3.52ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:38 Running ['artisan' crm:reset-governor] ......... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:46 Running ['artisan' datadog:report:processing-sla-activities] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:51 Running ['artisan' activity:sync --from='2026-04-21 16:44:00' --to='2026-04-21 17:00:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:44:00' --to='2026-04-21 17:00:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:00:58 Running ['artisan' mailbox:batch:fail-stalled] 2026-04-21 17:00:58 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:00:59 Jiminny\\Jobs\\Activity\\SyncActivity ....... 887.99ms DONE\ndocker_lamp_1 | 2026-04-21 17:00:59 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:00 Jiminny\\Jobs\\Activity\\SyncActivity ....... 668.41ms DONE\ndocker_lamp_1 | 2026-04-21 17:01:00 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:00 Jiminny\\Jobs\\Activity\\SyncActivity ....... 407.66ms DONE\ndocker_lamp_1 | 2026-04-21 17:01:00 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:01 Jiminny\\Jobs\\Activity\\SyncActivity ....... 438.41ms DONE\ndocker_lamp_1 | 2026-04-21 17:01:01 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:01 Jiminny\\Jobs\\Activity\\SyncActivity ....... 340.51ms DONE\ndocker_lamp_1 | 2026-04-21 17:01:01 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:01:03 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:fail-stalled > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:04 Running ['artisan' jiminny:transcription:retry-stuck] No stuck transcriptions found.\ndocker_lamp_1 | 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-stuck > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:10 Running ['artisan' automated-reports:send] ..... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' automated-reports:send > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:16 Running ['artisan' deal-insights:send-update] .. 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' deal-insights:send-update > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:22 Running ['artisan' activity:sync 'cloud-talk' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloud-talk' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:28 Running ['artisan' activity:sync 'vonage' --from='2026-04-21 11:00:00' --to='2026-04-21 17:00:00'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'vonage' --from='2026-04-21 11:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:35 Running ['artisan' activity:sync 'cloudcall' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 11s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:46 Running ['artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:52 Running ['artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:00 Running ['artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00'] 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:09 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:02:10 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:02:11 Jiminny\\Jobs\\Activity\\SyncActivity ....... 717.23ms DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:19 Running ['artisan' nudges:send --silent] ...... 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:29 Running ['artisan' jiminny:playlists:normalize-sort] 2026-04-21 17:02:29 Jiminny\\Component\\Nudge\\Job\\ProcessUserNudgesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:02:29 Jiminny\\Component\\Nudge\\Job\\ProcessUserNudgesJob 183.65ms DONE\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:03:07 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:14 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:21 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:28 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 11.29ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:04:07 Running ['artisan' meeting-bot:schedule-bot] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:12 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:18 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:25 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:30 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:33 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:05:05 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:06 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:07 Running ['artisan' jiminny:monitor-social-accounts] 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:09 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:11 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:12 Running ['artisan' activity:purge-stale] ....... 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:16 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:23 Running ['artisan' conference:pre-meeting-notification] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:28 Running ['artisan' conference:monitor:start] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:32 Running ['artisan' conference:monitor:end] ..... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:37 Running ['artisan' jiminny:fix-hubspot-tokens] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' conference:pre-meeting-reminder] in background 10.12ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' hubspot:journal-poll --start] in background 4.49ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)\ndocker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)\ndocker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)\ndocker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)\ndocker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Dispatched 4 HubSpot sync jobs\ndocker_lamp_1 | ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ...... 803.44ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ....... 11.39ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 7.24ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 8.32ms DONE\ndocker_lamp_1 | {\"canceled\":46}...... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.\ndocker_lamp_1 | ............... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ............ 62.98ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:18 Jiminny\\Jobs\\Mailbox\\SyncInbox ........... 899.81ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ........ 53.80ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] ........ 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 107.78ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)\ndocker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)\ndocker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)\ndocker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)\ndocker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)\ndocker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)\ndocker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)\ndocker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)\ndocker_lamp_1 | ........... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:10 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\SyncObjects .............. 31.97ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 674.13ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects .............. 13.23ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:14 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:15 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:16 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 466.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects .............. 28.71ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:18 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:19 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects .............. 56.51ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:21 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 463.34ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects .............. 23.02ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:24 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\SyncObjects ................... 2s DONE\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 518.85ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:31 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:32 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 515.39ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ....... 883.81ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ....... 769.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 599.40ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 413.70ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:53 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | ....... 7s DONE\ndocker_lamp_1 | 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 122.90ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \nunexpected EOF\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $","is_focused":true},{"role":"AXButton","text":"Menu","depth":3,"bounds":{"left":0.48472223,"top":0.08944444,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥1 DOCKER (-zsh)","depth":3,"bounds":{"left":0.01875,"top":0.09,"width":0.4625,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:47:56 on console\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ prod\n(lukas@jiminny-prod-bastion) Verification code: \nWelcome to Ubuntu 22.04.5 LTS (GNU/Linux 6.8.0-1041-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:09 UTC 2026\n\n System load: 0.0 Processes: 126\n Usage of /: 58.6% of 7.57GB Users logged in: 2\n Memory usage: 36% IPv4 address for eth0: 10.30.45.167\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n37 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:15 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$","depth":5,"value":"Last login: Mon Apr 20 19:47:56 on console\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ prod\n(lukas@jiminny-prod-bastion) Verification code: \nWelcome to Ubuntu 22.04.5 LTS (GNU/Linux 6.8.0-1041-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:09 UTC 2026\n\n System load: 0.0 Processes: 126\n Usage of /: 58.6% of 7.57GB Users logged in: 2\n Memory usage: 36% IPv4 address for eth0: 10.30.45.167\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n37 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:15 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.08944444,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥2 PROD (ssh)","depth":4,"bounds":{"left":0.51875,"top":0.09,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:03 on ttys001\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:15 UTC 2026\n\n System load: 0.0 Processes: 119\n Usage of /: 58.0% of 7.57GB Users logged in: 2\n Memory usage: 19% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:23 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 16:24:08 UTC 2026\n\n System load: 0.0 Processes: 139\n Usage of /: 58.0% of 7.57GB Users logged in: 3\n Memory usage: 21% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Tue Apr 21 06:17:16 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$","depth":5,"value":"Last login: Mon Apr 20 19:48:03 on ttys001\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:15 UTC 2026\n\n System load: 0.0 Processes: 119\n Usage of /: 58.0% of 7.57GB Users logged in: 2\n Memory usage: 19% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:23 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 16:24:08 UTC 2026\n\n System load: 0.0 Processes: 139\n Usage of /: 58.0% of 7.57GB Users logged in: 3\n Memory usage: 21% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Tue Apr 21 06:17:16 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.23944445,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥3 EU (ssh)","depth":4,"bounds":{"left":0.51875,"top":0.24,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ stg\n(lukas@jiminny-stage-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1052-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 14:39:05 UTC 2026\n\n System load: 0.0 Processes: 137\n Usage of /: 57.6% of 7.57GB Users logged in: 4\n Memory usage: 30% IPv4 address for ens5: 10.30.46.154\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\nLast login: Thu Apr 16 07:34:39 2026 from 212.39.71.189\nlukas@jiminny-stage-bastion:~$","depth":5,"value":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ stg\n(lukas@jiminny-stage-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1052-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 14:39:05 UTC 2026\n\n System load: 0.0 Processes: 137\n Usage of /: 57.6% of 7.57GB Users logged in: 4\n Memory usage: 30% IPv4 address for ens5: 10.30.46.154\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\nLast login: Thu Apr 16 07:34:39 2026 from 212.39.71.189\nlukas@jiminny-stage-bastion:~$","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.40944445,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥4 STAGE (ssh)","depth":4,"bounds":{"left":0.51875,"top":0.41,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":5,"bounds":{"left":0.5,"top":0.56222224,"width":0.5,"height":0.1388889},"value":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.5594444,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥5 QA (-zsh)","depth":4,"bounds":{"left":0.51875,"top":0.56,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys004\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":5,"bounds":{"left":0.5,"top":0.7088889,"width":0.5,"height":0.1411111},"value":"Last login: Mon Apr 20 19:48:04 on ttys004\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.70611113,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥6 FE (-zsh)","depth":4,"bounds":{"left":0.51875,"top":0.70666665,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys005\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":5,"bounds":{"left":0.5,"top":0.87777776,"width":0.5,"height":0.12222222},"value":"Last login: Mon Apr 20 19:48:04 on ttys005\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.855,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥7 EXT (-zsh)","depth":4,"bounds":{"left":0.51875,"top":0.85555553,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"EU (ssh)","depth":1,"bounds":{"left":0.47916666,"top":0.033333335,"width":0.04097222,"height":0.017777778},"role_description":"text"}]...
|
-3548022877361860948
|
-8287987604701541531
|
visual_change
|
accessibility
|
NULL
|
docker_lamp_1 | ⇂ '/usr/local/bin/php' docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:15 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:16 Running ['artisan' conference:pre-meeting-notification] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:17 Running ['artisan' conference:monitor:start] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:22 Running ['artisan' conference:monitor:end] ..... 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:26 Running ['artisan' jiminny:fix-hubspot-tokens] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' conference:pre-meeting-reminder] in background 8.73ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' hubspot:journal-poll --start] in background 3.52ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:00:31 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:38 Running ['artisan' crm:reset-governor] [PASSWORD_DOTS] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:46 Running ['artisan' datadog:report:processing-sla-activities] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:51 Running ['artisan' activity:sync --from='2026-04-21 16:44:00' --to='2026-04-21 17:00:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:44:00' --to='2026-04-21 17:00:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:00:58 Running ['artisan' mailbox:batch:fail-stalled] 2026-04-21 17:00:58 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:00:59 Jiminny\Jobs\Activity\SyncActivity ....... 887.99ms DONE
docker_lamp_1 | 2026-04-21 17:00:59 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:00 Jiminny\Jobs\Activity\SyncActivity ....... 668.41ms DONE
docker_lamp_1 | 2026-04-21 17:01:00 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:00 Jiminny\Jobs\Activity\SyncActivity ....... 407.66ms DONE
docker_lamp_1 | 2026-04-21 17:01:00 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:01 Jiminny\Jobs\Activity\SyncActivity ....... 438.41ms DONE
docker_lamp_1 | 2026-04-21 17:01:01 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:01 Jiminny\Jobs\Activity\SyncActivity ....... 340.51ms DONE
docker_lamp_1 | 2026-04-21 17:01:01 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:01:03 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:fail-stalled > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:04 Running ['artisan' jiminny:transcription:retry-stuck] No stuck transcriptions found.
docker_lamp_1 | 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-stuck > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:10 Running ['artisan' automated-reports:send] ..... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' automated-reports:send > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:16 Running ['artisan' deal-insights:send-update] .. 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' deal-insights:send-update > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:22 Running ['artisan' activity:sync 'cloud-talk' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloud-talk' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:28 Running ['artisan' activity:sync 'vonage' --from='2026-04-21 11:00:00' --to='2026-04-21 17:00:00'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'vonage' --from='2026-04-21 11:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:35 Running ['artisan' activity:sync 'cloudcall' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 11s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:46 Running ['artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:52 Running ['artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:00 Running ['artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00'] 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:09 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:02:10 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:02:11 Jiminny\Jobs\Activity\SyncActivity ....... 717.23ms DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:19 Running ['artisan' nudges:send --silent] ...... 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:29 Running ['artisan' jiminny:playlists:normalize-sort] 2026-04-21 17:02:29 Jiminny\Component\Nudge\Job\ProcessUserNudgesJob RUNNING
docker_lamp_1 | 2026-04-21 17:02:29 Jiminny\Component\Nudge\Job\ProcessUserNudgesJob 183.65ms DONE
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:03:07 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:14 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:21 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:28 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 11.29ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:04:07 Running ['artisan' meeting-bot:schedule-bot] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:12 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:18 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:25 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:30 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:33 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:05:05 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:06 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:07 Running ['artisan' jiminny:monitor-social-accounts] 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:09 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:11 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:12 Running ['artisan' activity:purge-stale] ....... 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:16 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:23 Running ['artisan' conference:pre-meeting-notification] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:28 Running ['artisan' conference:monitor:start] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:32 Running ['artisan' conference:monitor:end] ..... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:37 Running ['artisan' jiminny:fix-hubspot-tokens] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' conference:pre-meeting-reminder] in background 10.12ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' hubspot:journal-poll --start] in background 4.49ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)
docker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)
docker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)
docker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)
docker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...
docker_lamp_1 | Dispatched 4 HubSpot sync jobs
docker_lamp_1 | ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ...... 803.44ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ....... 11.39ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 7.24ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 8.32ms DONE
docker_lamp_1 | {"canceled":46}...... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 62.98ms DONE
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:18 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 899.81ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] 53.80ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] [PASSWORD_DOTS] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches ....... 107.78ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)
docker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...
docker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...
docker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)
docker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)
docker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)
docker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)
docker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)
docker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...
docker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...
docker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...
docker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)
docker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:10 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 31.97ms DONE
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 674.13ms DONE
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 13.23ms DONE
docker_lamp_1 | 2026-04-21 17:14:14 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:16 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 466.00ms DONE
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 28.71ms DONE
docker_lamp_1 | 2026-04-21 17:14:18 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:19 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 56.51ms DONE
docker_lamp_1 | 2026-04-21 17:14:21 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 463.34ms DONE
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 23.02ms DONE
docker_lamp_1 | 2026-04-21 17:14:24 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 2s DONE
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 518.85ms DONE
docker_lamp_1 | 2026-04-21 17:14:31 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:32 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 515.39ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity ....... 883.81ms DONE
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity ....... 769.00ms DONE
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 599.40ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 413.70ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:53 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | ....... 7s DONE
docker_lamp_1 | 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches ....... 122.90ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ...
|
NULL
|
|
68767
|
1560
|
33
|
2026-04-22T06:37:16.428622+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839836428_m1.jpg...
|
iTerm2
|
DOCKER (docker-compose)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
docker_lamp_1 | 2026-04-21 17:01:46 Running [ docker_lamp_1 | 2026-04-21 17:01:46 Running ['artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:52 Running ['artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:00 Running ['artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00'] 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:09 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:02:10 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:02:11 Jiminny\Jobs\Activity\SyncActivity ....... 717.23ms DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:19 Running ['artisan' nudges:send --silent] ...... 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:29 Running ['artisan' jiminny:playlists:normalize-sort] 2026-04-21 17:02:29 Jiminny\Component\Nudge\Job\ProcessUserNudgesJob RUNNING
docker_lamp_1 | 2026-04-21 17:02:29 Jiminny\Component\Nudge\Job\ProcessUserNudgesJob 183.65ms DONE
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:03:07 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:14 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:21 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:28 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 11.29ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:04:07 Running ['artisan' meeting-bot:schedule-bot] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:12 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:18 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:25 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:30 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:33 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:05:05 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:06 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:07 Running ['artisan' jiminny:monitor-social-accounts] 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:09 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:11 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:12 Running ['artisan' activity:purge-stale] ....... 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:16 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:23 Running ['artisan' conference:pre-meeting-notification] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:28 Running ['artisan' conference:monitor:start] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:32 Running ['artisan' conference:monitor:end] ..... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:37 Running ['artisan' jiminny:fix-hubspot-tokens] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' conference:pre-meeting-reminder] in background 10.12ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' hubspot:journal-poll --start] in background 4.49ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)
docker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)
docker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)
docker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)
docker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...
docker_lamp_1 | Dispatched 4 HubSpot sync jobs
docker_lamp_1 | ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ...... 803.44ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ....... 11.39ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 7.24ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 8.32ms DONE
docker_lamp_1 | {"canceled":46}...... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 62.98ms DONE
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:18 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 899.81ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] 53.80ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] [PASSWORD_DOTS] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches ....... 107.78ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)
docker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...
docker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...
docker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)
docker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)
docker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)
docker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)
docker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)
docker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...
docker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...
docker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...
docker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)
docker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:10 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 31.97ms DONE
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 674.13ms DONE
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 13.23ms DONE
docker_lamp_1 | 2026-04-21 17:14:14 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:16 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 466.00ms DONE
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 28.71ms DONE
docker_lamp_1 | 2026-04-21 17:14:18 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:19 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 56.51ms DONE
docker_lamp_1 | 2026-04-21 17:14:21 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 463.34ms DONE
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 23.02ms DONE
docker_lamp_1 | 2026-04-21 17:14:24 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 2s DONE
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 518.85ms DONE
docker_lamp_1 | 2026-04-21 17:14:31 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:32 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 515.39ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity ....... 883.81ms DONE
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity ....... 769.00ms DONE
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 599.40ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 413.70ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:53 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | ....... 7s DONE
docker_lamp_1 | 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches ....... 122.90ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
unexpected EOF
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ work
WARN[0000] /Users/lukas/jiminny/infrastructure/dev/docker/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
Attaching to blackfire-1, datadog-1, jiminny_ext-1, mariadb-1, docker_lamp_1, elasticsearch, kibana, ngrok, redis
mariadb-1 | 2026-04-22 06:37:16+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.
redis | 1:C 22 Apr 2026 06:37:16.275 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis | 1:C 22 Apr 2026 06:37:16.276 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started
redis | 1:C 22 Apr 2026 06:37:16.276 # Configuration loaded
redis | 1:M 22 Apr 2026 06:37:16.290 * Running mode=standalone, port=6379.
redis | 1:M 22 Apr 2026 06:37:16.290 # Server initialized
redis | 1:M 22 Apr 2026 06:37:16.290 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
redis | 1:M 22 Apr 2026 06:37:16.301 * Reading RDB preamble from AOF file...
redis | 1:M 22 Apr 2026 06:37:16.304 * Reading the remaining AOF tail...
blackfire-1 | [2026-04-22T06:37:16Z] ERROR: The server ID parameter is not set. Please run 'blackfire-agent -register' to configure it.
blackfire-1 | usage blackfire-agent [options]
blackfire-1 | --collector="https://blackfire.io": Sets the URL of Blackfire's data collector
blackfire-1 | --config="/etc/blackfire/agent": Sets the path to the configuration file
blackfire-1 | -d: Prints the current configuration
blackfire-1 | --http-proxy="": Sets the HTTP proxy to use
blackfire-1 | --https-proxy="": Sets the HTTPS proxy to use
blackfire-1 | --log-file="stderr": Sets the path of the log file. Use stderr to log to stderr
blackfire-1 | --log-level="1": log verbosity level (4: debug, 3: info, 2: warning, 1: error)
blackfire-1 | --register: Helps you with registering the agent
blackfire-1 | --server-id="": Sets the server id used to authenticate with Blackfire API
blackfire-1 | --server-token="": Sets the server token used to authenticate with Blackfire API. It is unsafe to set this from the command line
blackfire-1 | --socket="unix:///var/run/blackfire/agent.sock": Sets ...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"docker_lamp_1 | 2026-04-21 17:01:46 Running ['artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:52 Running ['artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:00 Running ['artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00'] 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:09 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:02:10 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:02:11 Jiminny\\Jobs\\Activity\\SyncActivity ....... 717.23ms DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:19 Running ['artisan' nudges:send --silent] ...... 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:29 Running ['artisan' jiminny:playlists:normalize-sort] 2026-04-21 17:02:29 Jiminny\\Component\\Nudge\\Job\\ProcessUserNudgesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:02:29 Jiminny\\Component\\Nudge\\Job\\ProcessUserNudgesJob 183.65ms DONE\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:03:07 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:14 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:21 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:28 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 11.29ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:04:07 Running ['artisan' meeting-bot:schedule-bot] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:12 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:18 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:25 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:30 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:33 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:05:05 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:06 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:07 Running ['artisan' jiminny:monitor-social-accounts] 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:09 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:11 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:12 Running ['artisan' activity:purge-stale] ....... 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:16 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:23 Running ['artisan' conference:pre-meeting-notification] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:28 Running ['artisan' conference:monitor:start] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:32 Running ['artisan' conference:monitor:end] ..... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:37 Running ['artisan' jiminny:fix-hubspot-tokens] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' conference:pre-meeting-reminder] in background 10.12ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' hubspot:journal-poll --start] in background 4.49ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)\ndocker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)\ndocker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)\ndocker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)\ndocker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Dispatched 4 HubSpot sync jobs\ndocker_lamp_1 | ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ...... 803.44ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ....... 11.39ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 7.24ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 8.32ms DONE\ndocker_lamp_1 | {\"canceled\":46}...... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.\ndocker_lamp_1 | ............... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ............ 62.98ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:18 Jiminny\\Jobs\\Mailbox\\SyncInbox ........... 899.81ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ........ 53.80ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] ........ 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 107.78ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)\ndocker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)\ndocker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)\ndocker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)\ndocker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)\ndocker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)\ndocker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)\ndocker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)\ndocker_lamp_1 | ........... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:10 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\SyncObjects .............. 31.97ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 674.13ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects .............. 13.23ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:14 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:15 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:16 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 466.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects .............. 28.71ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:18 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:19 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects .............. 56.51ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:21 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 463.34ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects .............. 23.02ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:24 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\SyncObjects ................... 2s DONE\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 518.85ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:31 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:32 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 515.39ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ....... 883.81ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ....... 769.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 599.40ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 413.70ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:53 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | ....... 7s DONE\ndocker_lamp_1 | 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 122.90ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \nunexpected EOF\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ work\nWARN[0000] /Users/lukas/jiminny/infrastructure/dev/docker/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion \nAttaching to blackfire-1, datadog-1, jiminny_ext-1, mariadb-1, docker_lamp_1, elasticsearch, kibana, ngrok, redis\nmariadb-1 | 2026-04-22 06:37:16+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nredis | 1:C 22 Apr 2026 06:37:16.275 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo\nredis | 1:C 22 Apr 2026 06:37:16.276 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started\nredis | 1:C 22 Apr 2026 06:37:16.276 # Configuration loaded\nredis | 1:M 22 Apr 2026 06:37:16.290 * Running mode=standalone, port=6379.\nredis | 1:M 22 Apr 2026 06:37:16.290 # Server initialized\nredis | 1:M 22 Apr 2026 06:37:16.290 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.\nredis | 1:M 22 Apr 2026 06:37:16.301 * Reading RDB preamble from AOF file...\nredis | 1:M 22 Apr 2026 06:37:16.304 * Reading the remaining AOF tail...\nblackfire-1 | [2026-04-22T06:37:16Z] ERROR: The server ID parameter is not set. Please run 'blackfire-agent -register' to configure it.\nblackfire-1 | usage blackfire-agent [options]\nblackfire-1 | --collector=\"https://blackfire.io\": Sets the URL of Blackfire's data collector\nblackfire-1 | --config=\"/etc/blackfire/agent\": Sets the path to the configuration file\nblackfire-1 | -d: Prints the current configuration\nblackfire-1 | --http-proxy=\"\": Sets the HTTP proxy to use\nblackfire-1 | --https-proxy=\"\": Sets the HTTPS proxy to use\nblackfire-1 | --log-file=\"stderr\": Sets the path of the log file. Use stderr to log to stderr\nblackfire-1 | --log-level=\"1\": log verbosity level (4: debug, 3: info, 2: warning, 1: error)\nblackfire-1 | --register: Helps you with registering the agent\nblackfire-1 | --server-id=\"\": Sets the server id used to authenticate with Blackfire API\nblackfire-1 | --server-token=\"\": Sets the server token used to authenticate with Blackfire API. It is unsafe to set this from the command line\nblackfire-1 | --socket=\"unix:///var/run/blackfire/agent.sock\": Sets the socket the agent should read traces from. Possible value can be a unix socket or a TCP address. ie: unix:///var/run/blackfire/agent.sock or tcp://127.0.0.1:8307\nblackfire-1 | --test: Tests the configuration\nblackfire-1 | --timeout=\"15s\": Sets the Blackfire connection timeout\nblackfire-1 | -v: Prints the version number\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"no configuration paths supplied\"\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"using configuration at default config path\" path=/home/ngrok/.ngrok2/ngrok.yml\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"open config file\" path=/home/ngrok/.ngrok2/ngrok.yml err=nil\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"starting web service\" obj=web addr=0.0.0.0:4040\nblackfire-1 exited with code 1\njiminny_ext-1 exited with code 0\ndocker_lamp_1 | + main\ndocker_lamp_1 | + declare START_DIR\ndocker_lamp_1 | +++ realpath /scripts/init-dev\ndocker_lamp_1 | ++ dirname /scripts/init-dev\ndocker_lamp_1 | + START_DIR=/scripts\ndocker_lamp_1 | + readonly START_DIR\ndocker_lamp_1 | + source /scripts/storage_init.sh\ndocker_lamp_1 | ++ set -o errexit\ndocker_lamp_1 | ++ set -o nounset\ndocker_lamp_1 | ++ set -o pipefail\ndocker_lamp_1 | + create_bind_mount\ndocker_lamp_1 | + [[ 0 == \\1 ]]\ndocker_lamp_1 | + configure_xdebug\ndocker_lamp_1 | + j2 /root/.j2_templates/xdebug/xdebug.ini.j2\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"tunnel session started\" obj=tunnels.session\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"client session established\" obj=csess id=634823eea3ad\ndatadog-1 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=\"command_line (http)\" addr=http://lamp:3080 url=http://lukask.ngrok.io\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=command_line addr=http://lamp:3080 url=https://lukask.ngrok.io\nmariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade information missing, assuming required\nmariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade or creating healthcheck users) required, but skipped due to $MARIADB_AUTO_UPGRADE setting\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] Starting MariaDB 11.4.5-MariaDB-ubu2404 source revision 0771110266ff5c04216af4bf1243c65f8c67ccf4 server_uid CA2X+ff4t+no/8l8iJfdnqVJ+RA= as process 1\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Compressed tables use zlib 1.3\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Number of transaction pools: 1\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using liburing\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Completed initialization of buffer pool\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: End of log at LSN=7617090664\n\n\nv View in Docker Desktop o View Config w Enable Watch","depth":4,"value":"docker_lamp_1 | 2026-04-21 17:01:46 Running ['artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:01:52 Running ['artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:00 Running ['artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00'] 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:09 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:02:10 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:02:11 Jiminny\\Jobs\\Activity\\SyncActivity ....... 717.23ms DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:19 Running ['artisan' nudges:send --silent] ...... 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:02:29 Running ['artisan' jiminny:playlists:normalize-sort] 2026-04-21 17:02:29 Jiminny\\Component\\Nudge\\Job\\ProcessUserNudgesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:02:29 Jiminny\\Component\\Nudge\\Job\\ProcessUserNudgesJob 183.65ms DONE\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:03:07 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:14 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:21 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:28 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 11.29ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:04:07 Running ['artisan' meeting-bot:schedule-bot] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:12 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:18 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:25 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:30 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:04:33 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:05:05 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:06 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:07 Running ['artisan' jiminny:monitor-social-accounts] 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:09 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:11 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:12 Running ['artisan' activity:purge-stale] ....... 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:16 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:23 Running ['artisan' conference:pre-meeting-notification] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:28 Running ['artisan' conference:monitor:start] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:32 Running ['artisan' conference:monitor:end] ..... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:37 Running ['artisan' jiminny:fix-hubspot-tokens] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' conference:pre-meeting-reminder] in background 10.12ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' hubspot:journal-poll --start] in background 4.49ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)\ndocker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)\ndocker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)\ndocker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)\ndocker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Dispatched 4 HubSpot sync jobs\ndocker_lamp_1 | ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ...... 803.44ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ....... 11.39ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 7.24ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 8.32ms DONE\ndocker_lamp_1 | {\"canceled\":46}...... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.\ndocker_lamp_1 | ............... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ............ 62.98ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:18 Jiminny\\Jobs\\Mailbox\\SyncInbox ........... 899.81ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ........ 53.80ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] ........ 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 107.78ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)\ndocker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)\ndocker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)\ndocker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)\ndocker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)\ndocker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)\ndocker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)\ndocker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)\ndocker_lamp_1 | ........... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:10 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\SyncObjects .............. 31.97ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 674.13ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects .............. 13.23ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:14 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:15 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:16 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 466.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects .............. 28.71ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:18 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:19 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects .............. 56.51ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:21 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 463.34ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects .............. 23.02ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:24 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\SyncObjects ................... 2s DONE\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 518.85ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:31 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:32 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 515.39ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ....... 883.81ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ....... 769.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 599.40ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 413.70ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:53 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | ....... 7s DONE\ndocker_lamp_1 | 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 122.90ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \nunexpected EOF\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ work\nWARN[0000] /Users/lukas/jiminny/infrastructure/dev/docker/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion \nAttaching to blackfire-1, datadog-1, jiminny_ext-1, mariadb-1, docker_lamp_1, elasticsearch, kibana, ngrok, redis\nmariadb-1 | 2026-04-22 06:37:16+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nredis | 1:C 22 Apr 2026 06:37:16.275 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo\nredis | 1:C 22 Apr 2026 06:37:16.276 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started\nredis | 1:C 22 Apr 2026 06:37:16.276 # Configuration loaded\nredis | 1:M 22 Apr 2026 06:37:16.290 * Running mode=standalone, port=6379.\nredis | 1:M 22 Apr 2026 06:37:16.290 # Server initialized\nredis | 1:M 22 Apr 2026 06:37:16.290 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.\nredis | 1:M 22 Apr 2026 06:37:16.301 * Reading RDB preamble from AOF file...\nredis | 1:M 22 Apr 2026 06:37:16.304 * Reading the remaining AOF tail...\nblackfire-1 | [2026-04-22T06:37:16Z] ERROR: The server ID parameter is not set. Please run 'blackfire-agent -register' to configure it.\nblackfire-1 | usage blackfire-agent [options]\nblackfire-1 | --collector=\"https://blackfire.io\": Sets the URL of Blackfire's data collector\nblackfire-1 | --config=\"/etc/blackfire/agent\": Sets the path to the configuration file\nblackfire-1 | -d: Prints the current configuration\nblackfire-1 | --http-proxy=\"\": Sets the HTTP proxy to use\nblackfire-1 | --https-proxy=\"\": Sets the HTTPS proxy to use\nblackfire-1 | --log-file=\"stderr\": Sets the path of the log file. Use stderr to log to stderr\nblackfire-1 | --log-level=\"1\": log verbosity level (4: debug, 3: info, 2: warning, 1: error)\nblackfire-1 | --register: Helps you with registering the agent\nblackfire-1 | --server-id=\"\": Sets the server id used to authenticate with Blackfire API\nblackfire-1 | --server-token=\"\": Sets the server token used to authenticate with Blackfire API. It is unsafe to set this from the command line\nblackfire-1 | --socket=\"unix:///var/run/blackfire/agent.sock\": Sets the socket the agent should read traces from. Possible value can be a unix socket or a TCP address. ie: unix:///var/run/blackfire/agent.sock or tcp://127.0.0.1:8307\nblackfire-1 | --test: Tests the configuration\nblackfire-1 | --timeout=\"15s\": Sets the Blackfire connection timeout\nblackfire-1 | -v: Prints the version number\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"no configuration paths supplied\"\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"using configuration at default config path\" path=/home/ngrok/.ngrok2/ngrok.yml\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"open config file\" path=/home/ngrok/.ngrok2/ngrok.yml err=nil\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"starting web service\" obj=web addr=0.0.0.0:4040\nblackfire-1 exited with code 1\njiminny_ext-1 exited with code 0\ndocker_lamp_1 | + main\ndocker_lamp_1 | + declare START_DIR\ndocker_lamp_1 | +++ realpath /scripts/init-dev\ndocker_lamp_1 | ++ dirname /scripts/init-dev\ndocker_lamp_1 | + START_DIR=/scripts\ndocker_lamp_1 | + readonly START_DIR\ndocker_lamp_1 | + source /scripts/storage_init.sh\ndocker_lamp_1 | ++ set -o errexit\ndocker_lamp_1 | ++ set -o nounset\ndocker_lamp_1 | ++ set -o pipefail\ndocker_lamp_1 | + create_bind_mount\ndocker_lamp_1 | + [[ 0 == \\1 ]]\ndocker_lamp_1 | + configure_xdebug\ndocker_lamp_1 | + j2 /root/.j2_templates/xdebug/xdebug.ini.j2\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"tunnel session started\" obj=tunnels.session\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"client session established\" obj=csess id=634823eea3ad\ndatadog-1 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=\"command_line (http)\" addr=http://lamp:3080 url=http://lukask.ngrok.io\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=command_line addr=http://lamp:3080 url=https://lukask.ngrok.io\nmariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade information missing, assuming required\nmariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade or creating healthcheck users) required, but skipped due to $MARIADB_AUTO_UPGRADE setting\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] Starting MariaDB 11.4.5-MariaDB-ubu2404 source revision 0771110266ff5c04216af4bf1243c65f8c67ccf4 server_uid CA2X+ff4t+no/8l8iJfdnqVJ+RA= as process 1\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Compressed tables use zlib 1.3\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Number of transaction pools: 1\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using liburing\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Completed initialization of buffer pool\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: End of log at LSN=7617090664\n\n\nv View in Docker Desktop o View Config w Enable Watch","is_focused":true},{"role":"AXButton","text":"Menu","depth":3,"bounds":{"left":0.48472223,"top":0.08944444,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥1 DOCKER (docker-compose)","depth":3,"bounds":{"left":0.01875,"top":0.09,"width":0.4625,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:47:56 on console\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ prod\n(lukas@jiminny-prod-bastion) Verification code: \nWelcome to Ubuntu 22.04.5 LTS (GNU/Linux 6.8.0-1041-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:09 UTC 2026\n\n System load: 0.0 Processes: 126\n Usage of /: 58.6% of 7.57GB Users logged in: 2\n Memory usage: 36% IPv4 address for eth0: 10.30.45.167\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n37 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:15 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$","depth":5,"value":"Last login: Mon Apr 20 19:47:56 on console\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ prod\n(lukas@jiminny-prod-bastion) Verification code: \nWelcome to Ubuntu 22.04.5 LTS (GNU/Linux 6.8.0-1041-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:09 UTC 2026\n\n System load: 0.0 Processes: 126\n Usage of /: 58.6% of 7.57GB Users logged in: 2\n Memory usage: 36% IPv4 address for eth0: 10.30.45.167\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n37 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:15 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.08944444,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥2 PROD (ssh)","depth":4,"bounds":{"left":0.51875,"top":0.09,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:03 on ttys001\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:15 UTC 2026\n\n System load: 0.0 Processes: 119\n Usage of /: 58.0% of 7.57GB Users logged in: 2\n Memory usage: 19% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:23 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 16:24:08 UTC 2026\n\n System load: 0.0 Processes: 139\n Usage of /: 58.0% of 7.57GB Users logged in: 3\n Memory usage: 21% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Tue Apr 21 06:17:16 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$","depth":5,"value":"Last login: Mon Apr 20 19:48:03 on ttys001\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:15 UTC 2026\n\n System load: 0.0 Processes: 119\n Usage of /: 58.0% of 7.57GB Users logged in: 2\n Memory usage: 19% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:23 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 16:24:08 UTC 2026\n\n System load: 0.0 Processes: 139\n Usage of /: 58.0% of 7.57GB Users logged in: 3\n Memory usage: 21% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Tue Apr 21 06:17:16 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.23944445,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥3 EU (ssh)","depth":4,"bounds":{"left":0.51875,"top":0.24,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ stg\n(lukas@jiminny-stage-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1052-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 14:39:05 UTC 2026\n\n System load: 0.0 Processes: 137\n Usage of /: 57.6% of 7.57GB Users logged in: 4\n Memory usage: 30% IPv4 address for ens5: 10.30.46.154\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\nLast login: Thu Apr 16 07:34:39 2026 from 212.39.71.189\nlukas@jiminny-stage-bastion:~$","depth":5,"value":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ stg\n(lukas@jiminny-stage-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1052-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 14:39:05 UTC 2026\n\n System load: 0.0 Processes: 137\n Usage of /: 57.6% of 7.57GB Users logged in: 4\n Memory usage: 30% IPv4 address for ens5: 10.30.46.154\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\nLast login: Thu Apr 16 07:34:39 2026 from 212.39.71.189\nlukas@jiminny-stage-bastion:~$","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.40944445,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥4 STAGE (ssh)","depth":4,"bounds":{"left":0.51875,"top":0.41,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":5,"bounds":{"left":0.5,"top":0.56222224,"width":0.5,"height":0.1388889},"value":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.5594444,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥5 QA (-zsh)","depth":4,"bounds":{"left":0.51875,"top":0.56,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys004\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":5,"bounds":{"left":0.5,"top":0.7088889,"width":0.5,"height":0.1411111},"value":"Last login: Mon Apr 20 19:48:04 on ttys004\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.70611113,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥6 FE (-zsh)","depth":4,"bounds":{"left":0.51875,"top":0.70666665,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys005\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":5,"bounds":{"left":0.5,"top":0.87777776,"width":0.5,"height":0.12222222},"value":"Last login: Mon Apr 20 19:48:04 on ttys005\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.855,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥7 EXT (-zsh)","depth":4,"bounds":{"left":0.51875,"top":0.85555553,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"DOCKER (docker-compose)","depth":1,"bounds":{"left":0.43611112,"top":0.033333335,"width":0.12708333,"height":0.017777778},"role_description":"text"}]...
|
6850535550916233321
|
-4829223090881000604
|
visual_change
|
accessibility
|
NULL
|
docker_lamp_1 | 2026-04-21 17:01:46 Running [ docker_lamp_1 | 2026-04-21 17:01:46 Running ['artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'cloudcall-us' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:01:52 Running ['artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00'] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'five-nine' --from='2026-04-21 14:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:00 Running ['artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00'] 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'hubspot' --from='2026-04-21 16:00:00' --to='2026-04-21 17:00:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:09 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:02:10 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:02:11 Jiminny\Jobs\Activity\SyncActivity ....... 717.23ms DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:19 Running ['artisan' nudges:send --silent] ...... 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:02:29 Running ['artisan' jiminny:playlists:normalize-sort] 2026-04-21 17:02:29 Jiminny\Component\Nudge\Job\ProcessUserNudgesJob RUNNING
docker_lamp_1 | 2026-04-21 17:02:29 Jiminny\Component\Nudge\Job\ProcessUserNudgesJob 183.65ms DONE
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:03:07 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:14 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:21 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:28 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 11.29ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:03:41 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:04:07 Running ['artisan' meeting-bot:schedule-bot] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:12 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:18 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:25 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:30 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:04:33 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:05:05 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:06 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:07 Running ['artisan' jiminny:monitor-social-accounts] 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:09 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:11 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:12 Running ['artisan' activity:purge-stale] ....... 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:16 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:23 Running ['artisan' conference:pre-meeting-notification] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:28 Running ['artisan' conference:monitor:start] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:32 Running ['artisan' conference:monitor:end] ..... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:37 Running ['artisan' jiminny:fix-hubspot-tokens] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' conference:pre-meeting-reminder] in background 10.12ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' hubspot:journal-poll --start] in background 4.49ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:05:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)
docker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)
docker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)
docker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)
docker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...
docker_lamp_1 | Dispatched 4 HubSpot sync jobs
docker_lamp_1 | ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ...... 803.44ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ....... 11.39ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 7.24ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 8.32ms DONE
docker_lamp_1 | {"canceled":46}...... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 62.98ms DONE
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:18 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 899.81ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] 53.80ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] [PASSWORD_DOTS] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches ....... 107.78ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)
docker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...
docker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...
docker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)
docker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)
docker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)
docker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)
docker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)
docker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...
docker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...
docker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...
docker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)
docker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:10 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 31.97ms DONE
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 674.13ms DONE
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 13.23ms DONE
docker_lamp_1 | 2026-04-21 17:14:14 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:16 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 466.00ms DONE
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 28.71ms DONE
docker_lamp_1 | 2026-04-21 17:14:18 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:19 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 56.51ms DONE
docker_lamp_1 | 2026-04-21 17:14:21 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 463.34ms DONE
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 23.02ms DONE
docker_lamp_1 | 2026-04-21 17:14:24 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 2s DONE
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 518.85ms DONE
docker_lamp_1 | 2026-04-21 17:14:31 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:32 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 515.39ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity ....... 883.81ms DONE
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity ....... 769.00ms DONE
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 599.40ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 413.70ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:53 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | ....... 7s DONE
docker_lamp_1 | 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches ....... 122.90ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
unexpected EOF
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ work
WARN[0000] /Users/lukas/jiminny/infrastructure/dev/docker/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
Attaching to blackfire-1, datadog-1, jiminny_ext-1, mariadb-1, docker_lamp_1, elasticsearch, kibana, ngrok, redis
mariadb-1 | 2026-04-22 06:37:16+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.
redis | 1:C 22 Apr 2026 06:37:16.275 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis | 1:C 22 Apr 2026 06:37:16.276 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started
redis | 1:C 22 Apr 2026 06:37:16.276 # Configuration loaded
redis | 1:M 22 Apr 2026 06:37:16.290 * Running mode=standalone, port=6379.
redis | 1:M 22 Apr 2026 06:37:16.290 # Server initialized
redis | 1:M 22 Apr 2026 06:37:16.290 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
redis | 1:M 22 Apr 2026 06:37:16.301 * Reading RDB preamble from AOF file...
redis | 1:M 22 Apr 2026 06:37:16.304 * Reading the remaining AOF tail...
blackfire-1 | [2026-04-22T06:37:16Z] ERROR: The server ID parameter is not set. Please run 'blackfire-agent -register' to configure it.
blackfire-1 | usage blackfire-agent [options]
blackfire-1 | --collector="https://blackfire.io": Sets the URL of Blackfire's data collector
blackfire-1 | --config="/etc/blackfire/agent": Sets the path to the configuration file
blackfire-1 | -d: Prints the current configuration
blackfire-1 | --http-proxy="": Sets the HTTP proxy to use
blackfire-1 | --https-proxy="": Sets the HTTPS proxy to use
blackfire-1 | --log-file="stderr": Sets the path of the log file. Use stderr to log to stderr
blackfire-1 | --log-level="1": log verbosity level (4: debug, 3: info, 2: warning, 1: error)
blackfire-1 | --register: Helps you with registering the agent
blackfire-1 | --server-id="": Sets the server id used to authenticate with Blackfire API
blackfire-1 | --server-token="": Sets the server token used to authenticate with Blackfire API. It is unsafe to set this from the command line
blackfire-1 | --socket="unix:///var/run/blackfire/agent.sock": Sets ...
|
68766
|
|
68768
|
1560
|
34
|
2026-04-22T06:37:22.463537+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839842463_m1.jpg...
|
iTerm2
|
DOCKER (docker-compose)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
oc/1/fd/1' 2>&1
docker_lamp_1 |
doc oc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)
docker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)
docker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)
docker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)
docker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...
docker_lamp_1 | Dispatched 4 HubSpot sync jobs
docker_lamp_1 | ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ...... 803.44ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ....... 11.39ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 7.24ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 8.32ms DONE
docker_lamp_1 | {"canceled":46}...... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 62.98ms DONE
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:18 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 899.81ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] 53.80ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] [PASSWORD_DOTS] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches ....... 107.78ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)
docker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...
docker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...
docker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)
docker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)
docker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)
docker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)
docker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)
docker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...
docker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...
docker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...
docker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)
docker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:10 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 31.97ms DONE
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 674.13ms DONE
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 13.23ms DONE
docker_lamp_1 | 2026-04-21 17:14:14 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:16 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 466.00ms DONE
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 28.71ms DONE
docker_lamp_1 | 2026-04-21 17:14:18 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:19 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 56.51ms DONE
docker_lamp_1 | 2026-04-21 17:14:21 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 463.34ms DONE
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 23.02ms DONE
docker_lamp_1 | 2026-04-21 17:14:24 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 2s DONE
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 518.85ms DONE
docker_lamp_1 | 2026-04-21 17:14:31 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:32 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 515.39ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity ....... 883.81ms DONE
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity ....... 769.00ms DONE
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 599.40ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 413.70ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:53 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | ....... 7s DONE
docker_lamp_1 | 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches ....... 122.90ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
unexpected EOF
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ work
WARN[0000] /Users/lukas/jiminny/infrastructure/dev/docker/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
Attaching to blackfire-1, datadog-1, jiminny_ext-1, mariadb-1, docker_lamp_1, elasticsearch, kibana, ngrok, redis
mariadb-1 | 2026-04-22 06:37:16+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.
redis | 1:C 22 Apr 2026 06:37:16.275 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis | 1:C 22 Apr 2026 06:37:16.276 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started
redis | 1:C 22 Apr 2026 06:37:16.276 # Configuration loaded
redis | 1:M 22 Apr 2026 06:37:16.290 * Running mode=standalone, port=6379.
redis | 1:M 22 Apr 2026 06:37:16.290 # Server initialized
redis | 1:M 22 Apr 2026 06:37:16.290 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
redis | 1:M 22 Apr 2026 06:37:16.301 * Reading RDB preamble from AOF file...
redis | 1:M 22 Apr 2026 06:37:16.304 * Reading the remaining AOF tail...
blackfire-1 | [2026-04-22T06:37:16Z] ERROR: The server ID parameter is not set. Please run 'blackfire-agent -register' to configure it.
blackfire-1 | usage blackfire-agent [options]
blackfire-1 | --collector="https://blackfire.io": Sets the URL of Blackfire's data collector
blackfire-1 | --config="/etc/blackfire/agent": Sets the path to the configuration file
blackfire-1 | -d: Prints the current configuration
blackfire-1 | --http-proxy="": Sets the HTTP proxy to use
blackfire-1 | --https-proxy="": Sets the HTTPS proxy to use
blackfire-1 | --log-file="stderr": Sets the path of the log file. Use stderr to log to stderr
blackfire-1 | --log-level="1": log verbosity level (4: debug, 3: info, 2: warning, 1: error)
blackfire-1 | --register: Helps you with registering the agent
blackfire-1 | --server-id="": Sets the server id used to authenticate with Blackfire API
blackfire-1 | --server-token="": Sets the server token used to authenticate with Blackfire API. It is unsafe to set this from the command line
blackfire-1 | --socket="unix:///var/run/blackfire/agent.sock": Sets the socket the agent should read traces from. Possible value can be a unix socket or a TCP address. ie: unix:///var/run/blackfire/agent.sock or tcp://[IP_ADDRESS]:8307
blackfire-1 | --test: Tests the configuration
blackfire-1 | --timeout="15s": Sets the Blackfire connection timeout
blackfire-1 | -v: Prints the version number
ngrok | t=2026-04-22T06:37:16+0000 lvl=info msg="no configuration paths supplied"
ngrok | t=2026-04-22T06:37:16+0000 lvl=info msg="using configuration at default config path" path=/home/ngrok/.ngrok2/ngrok.yml
ngrok | t=2026-04-22T06:37:16+0000 lvl=info msg="open config file" path=/home/ngrok/.ngrok2/ngrok.yml err=nil
ngrok | t=2026-04-22T06:37:16+0000 lvl=info msg="starting web service" obj=web addr=[IP_ADDRESS]:4040
blackfire-1 exited with code 1
jiminny_ext-1 exited with code 0
docker_lamp_1 | + main
docker_lamp_1 | + declare START_DIR
docker_lamp_1 | +++ realpath /scripts/init-dev
docker_lamp_1 | ++ dirname /scripts/init-dev
docker_lamp_1 | + START_DIR=/scripts
docker_lamp_1 | + readonly START_DIR
docker_lamp_1 | + source /scripts/storage_init.sh
docker_lamp_1 | ++ set -o errexit
docker_lamp_1 | ++ set -o nounset
docker_lamp_1 | ++ set -o pipefail
docker_lamp_1 | + create_bind_mount
docker_lamp_1 | + [[ 0 == \1 ]]
docker_lamp_1 | + configure_xdebug
docker_lamp_1 | + j2 /root/.j2_templates/xdebug/xdebug.ini.j2
mariadb-1 | 2026-04-22 06:37:17+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB
mariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.
ngrok | t=2026-04-22T06:37:17+0000 lvl=info msg="tunnel session started" obj=tunnels.session
ngrok | t=2026-04-22T06:37:17+0000 lvl=info msg="client session established" obj=csess id=634823eea3ad
datadog-1 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
ngrok | t=2026-04-22T06:37:17+0000 lvl=info msg="started tunnel" obj=tunnels name="command_line (http)" addr=http://lamp:3080 url=http://lukask.ngrok.io
ngrok | t=2026-04-22T06:37:17+0000 lvl=info msg="started tunnel" obj=tunnels name=command_line addr=http://lamp:3080 url=https://lukask.ngrok.io
mariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade information missing, assuming required
mariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade or creating healthcheck users) required, but skipped due to $MARIADB_AUTO_UPGRADE setting
mariadb-1 | 2026-04-22 6:37:18 0 [Note] Starting MariaDB 11.4.5-MariaDB-ubu2404 source revision 0771110266ff5c04216af4bf1243c65f8c67ccf4 server_uid CA2X+ff4t+no/8l8iJfdnqVJ+RA= as process 1
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Compressed tables use zlib 1.3
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Number of transaction pools: 1
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using liburing
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Completed initialization of buffer pool
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: End of log at LSN=7617090664
docker_lamp_1 | + configure_blackfire
docker_lamp_1 | + j2 /root/.j2_templates/blackfire/extension.ini.j2
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Opened 3 undo tablespaces
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: log sequence number 7617090664; transaction id 11488208
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
mariadb-1 | 2026-04-22 6:37:18 0 [Note] Plugin 'FEEDBACK' is disabled.
mariadb-1 | 2026-04-22 6:37:18 0 [Note] Plugin 'wsrep-provider' is disabled.
ngrok | t=2026-04-22T06:37:18+0000 lvl=info msg="update available" obj=updater
docker_lamp_1 | + j2 /root/.j2_templates/blackfire/cli.ini.j2
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Buffer pool(s) load completed at 260422 6:37:18
docker_lamp_1 | + declare EMPTY_DB
docker_lamp_1 | + db_is_empty
docker_lamp_1 | ++ find /var/lib/mysql/ -maxdepth 1
docker_lamp_1 | ++ wc -l
docker_lamp_1 | + [[ 11 -lt 5 ]]
docker_lamp_1 | + EMPTY_DB=0
docker_lamp_1 | + readonly EMPTY_DB
docker_lamp_1 | + [[ 0 -eq 1 ]]
docker_lamp_1 | + [[ local == \l\o\c\a\l ]]
docker_lamp_1 | + set_nginx_domain dev.jiminny.com
docker_lamp_1 | + declare -r DOMAIN_NAME=dev.jiminny.com
docker_lamp_1 | + cp -f /etc/nginx/nginx_template.conf /etc/nginx/nginx.conf
docker_lamp_1 | + sed -i -E s~_JIMINNY_DOMAIN~app.dev.jiminny.com~g /etc/nginx/nginx.conf
docker_lamp_1 | + sed -i -E s~_JIMINNY_EXT_DOMAIN~ext.dev.jiminny.com~g /etc/nginx/nginx.conf
docker_lamp_1 | + sed -i -E s~_JIMINNY_WEB_DOMAIN~www.dev.jiminny.com~g /etc/nginx/nginx.conf
docker_lamp_1 | + [[ -n 3399 ]]
docker_lamp_1 | + sed -i -E 's~http:\/\/jiminny_ext:8080~http://jiminny_ext:3399~g' /etc/nginx/nginx.conf
docker_lamp_1 | + [[ -n host.docker.internal ]]
docker_lamp_1 | + sed -i -E 's~http:\/\/jiminny_ext~http://host.docker.internal~g' /etc/nginx/nginx.conf
docker_lamp_1 | + build_dev
docker_lamp_1 | + cd /home/jiminny/
docker_lamp_1 | + create_dot_env_local_file
docker_lamp_1 | + cp -f /home/jiminny/.env.local /home/jiminny/.env.local.bak
docker_lamp_1 | + create_dot_env
docker_lamp_1 | + [[ -f /home/jiminny/.env ]]
docker_lamp_1 | + return
docker_lamp_1 | + declare DB_ADMIN_PASSWORD
docker_lamp_1 | + declare DB_ADMIN_USERNAME
docker_lamp_1 | + declare DB_DEV_PASSWORD
docker_lamp_1 | + declare DB_DEV_USERNAME
docker_lamp_1 | + declare DB_ROOT_PASSWORD
docker_lamp_1 | + declare DB_ROOT_USERNAME
docker_lamp_1 | + declare DB_WEB_PASSWORD
docker_lamp_1 | + declare DB_WEB_USERNAME
docker_lamp_1 | ++ jq -r .DB_ADMIN_PASSWORD /home/jiminny/dev.json
docker_lamp_1 | + [ENV_SECRET]
docker_lamp_1 | ++ jq -r .DB_ADMIN_USERNAME /home/jiminny/dev.json
docker_lamp_1 | + DB_ADMIN_USERNAME=jmnyadmin
docker_lamp_1 | ++ jq -r .DB_DEV_PASSWORD /home/jiminny/dev.json
datadog-1 | [s6-init] ensuring user provided files have correct perms...exited 0.
docker_lamp_1 | + [ENV_SECRET]
docker_lamp_1 | ++ jq -r .DB_DEV_USERNAME /home/jiminny/dev.json
docker_lamp_1 | + DB_DEV_USERNAME=jmnydev
docker_lamp_1 | ++ jq -r .DB_ROOT_PASSWORD /home/jiminny/dev.json
datadog-1 | [fix-attrs.d] applying ownership & permissions fixes...
datadog-1 | [fix-attrs.d] done.
docker_lamp_1 | + [ENV_SECRET]
docker_lamp_1 | ++ jq -r .DB_ROOT_USERNAME /home/jiminny/dev.json
datadog-1 | [cont-init.d] executing container initialization scripts...
docker_lamp_1 | + DB_ROOT_USERNAME=root
docker_lamp_1 | ++ jq -r .DB_WEB_PASSWORD /home/jiminny/dev.json
datadog-1 | [cont-init.d] 01-check-apikey.sh: executing...
docker_lamp_1 | + [ENV_SECRET]
docker_lamp_1 | ++ jq -r .DB_WEB_USERNAME /home/jiminny/dev.json
datadog-1 |
datadog-1 | ==================================================================================
datadog-1 | You must set an DD_API_KEY environment variable to run the Datadog Agent container
datadog-1 | ==================================================================================
datadog-1 |
docker_lamp_1 | + DB_WEB_USERNAME=jmnyweb
docker_lamp_1 | + readonly DB_ADMIN_PASSWORD
docker_lamp_1 | + readonly DB_ADMIN_USERNAME
docker_lamp_1 | + readonly DB_DEV_PASSWORD
docker_lamp_1 | + readonly DB_DEV_USERNAME
docker_lamp_1 | + readonly DB_ROOT_PASSWORD
docker_lamp_1 | + readonly DB_ROOT_USERNAME
docker_lamp_1 | + readonly DB_WEB_PASSWORD
docker_lamp_1 | + readonly DB_WEB_USERNAME
docker_lamp_1 | + sed -i -E 's~DB_USERNAME=.*$~DB_USERNAME=jmnyadmin~g' /home/jiminny/.env
datadog-1 | [cont-init.d] 01-check-apikey.sh: exited 1.
docker_lamp_1 | + sed -i -E 's~[ENV_SECRET] /home/jiminny/.env
docker_lamp_1 | + sed -i -E 's~DB...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"oc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)\ndocker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)\ndocker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)\ndocker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)\ndocker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Dispatched 4 HubSpot sync jobs\ndocker_lamp_1 | ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ...... 803.44ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ....... 11.39ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 7.24ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 8.32ms DONE\ndocker_lamp_1 | {\"canceled\":46}...... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.\ndocker_lamp_1 | ............... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ............ 62.98ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:18 Jiminny\\Jobs\\Mailbox\\SyncInbox ........... 899.81ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ........ 53.80ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] ........ 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 107.78ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)\ndocker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)\ndocker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)\ndocker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)\ndocker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)\ndocker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)\ndocker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)\ndocker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)\ndocker_lamp_1 | ........... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:10 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\SyncObjects .............. 31.97ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 674.13ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects .............. 13.23ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:14 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:15 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:16 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 466.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects .............. 28.71ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:18 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:19 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects .............. 56.51ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:21 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 463.34ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects .............. 23.02ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:24 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\SyncObjects ................... 2s DONE\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 518.85ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:31 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:32 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 515.39ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ....... 883.81ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ....... 769.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 599.40ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 413.70ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:53 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | ....... 7s DONE\ndocker_lamp_1 | 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 122.90ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \nunexpected EOF\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ work\nWARN[0000] /Users/lukas/jiminny/infrastructure/dev/docker/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion \nAttaching to blackfire-1, datadog-1, jiminny_ext-1, mariadb-1, docker_lamp_1, elasticsearch, kibana, ngrok, redis\nmariadb-1 | 2026-04-22 06:37:16+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nredis | 1:C 22 Apr 2026 06:37:16.275 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo\nredis | 1:C 22 Apr 2026 06:37:16.276 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started\nredis | 1:C 22 Apr 2026 06:37:16.276 # Configuration loaded\nredis | 1:M 22 Apr 2026 06:37:16.290 * Running mode=standalone, port=6379.\nredis | 1:M 22 Apr 2026 06:37:16.290 # Server initialized\nredis | 1:M 22 Apr 2026 06:37:16.290 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.\nredis | 1:M 22 Apr 2026 06:37:16.301 * Reading RDB preamble from AOF file...\nredis | 1:M 22 Apr 2026 06:37:16.304 * Reading the remaining AOF tail...\nblackfire-1 | [2026-04-22T06:37:16Z] ERROR: The server ID parameter is not set. Please run 'blackfire-agent -register' to configure it.\nblackfire-1 | usage blackfire-agent [options]\nblackfire-1 | --collector=\"https://blackfire.io\": Sets the URL of Blackfire's data collector\nblackfire-1 | --config=\"/etc/blackfire/agent\": Sets the path to the configuration file\nblackfire-1 | -d: Prints the current configuration\nblackfire-1 | --http-proxy=\"\": Sets the HTTP proxy to use\nblackfire-1 | --https-proxy=\"\": Sets the HTTPS proxy to use\nblackfire-1 | --log-file=\"stderr\": Sets the path of the log file. Use stderr to log to stderr\nblackfire-1 | --log-level=\"1\": log verbosity level (4: debug, 3: info, 2: warning, 1: error)\nblackfire-1 | --register: Helps you with registering the agent\nblackfire-1 | --server-id=\"\": Sets the server id used to authenticate with Blackfire API\nblackfire-1 | --server-token=\"\": Sets the server token used to authenticate with Blackfire API. It is unsafe to set this from the command line\nblackfire-1 | --socket=\"unix:///var/run/blackfire/agent.sock\": Sets the socket the agent should read traces from. Possible value can be a unix socket or a TCP address. ie: unix:///var/run/blackfire/agent.sock or tcp://127.0.0.1:8307\nblackfire-1 | --test: Tests the configuration\nblackfire-1 | --timeout=\"15s\": Sets the Blackfire connection timeout\nblackfire-1 | -v: Prints the version number\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"no configuration paths supplied\"\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"using configuration at default config path\" path=/home/ngrok/.ngrok2/ngrok.yml\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"open config file\" path=/home/ngrok/.ngrok2/ngrok.yml err=nil\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"starting web service\" obj=web addr=0.0.0.0:4040\nblackfire-1 exited with code 1\njiminny_ext-1 exited with code 0\ndocker_lamp_1 | + main\ndocker_lamp_1 | + declare START_DIR\ndocker_lamp_1 | +++ realpath /scripts/init-dev\ndocker_lamp_1 | ++ dirname /scripts/init-dev\ndocker_lamp_1 | + START_DIR=/scripts\ndocker_lamp_1 | + readonly START_DIR\ndocker_lamp_1 | + source /scripts/storage_init.sh\ndocker_lamp_1 | ++ set -o errexit\ndocker_lamp_1 | ++ set -o nounset\ndocker_lamp_1 | ++ set -o pipefail\ndocker_lamp_1 | + create_bind_mount\ndocker_lamp_1 | + [[ 0 == \\1 ]]\ndocker_lamp_1 | + configure_xdebug\ndocker_lamp_1 | + j2 /root/.j2_templates/xdebug/xdebug.ini.j2\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"tunnel session started\" obj=tunnels.session\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"client session established\" obj=csess id=634823eea3ad\ndatadog-1 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=\"command_line (http)\" addr=http://lamp:3080 url=http://lukask.ngrok.io\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=command_line addr=http://lamp:3080 url=https://lukask.ngrok.io\nmariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade information missing, assuming required\nmariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade or creating healthcheck users) required, but skipped due to $MARIADB_AUTO_UPGRADE setting\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] Starting MariaDB 11.4.5-MariaDB-ubu2404 source revision 0771110266ff5c04216af4bf1243c65f8c67ccf4 server_uid CA2X+ff4t+no/8l8iJfdnqVJ+RA= as process 1\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Compressed tables use zlib 1.3\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Number of transaction pools: 1\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using liburing\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Completed initialization of buffer pool\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: End of log at LSN=7617090664\ndocker_lamp_1 | + configure_blackfire\ndocker_lamp_1 | + j2 /root/.j2_templates/blackfire/extension.ini.j2\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Opened 3 undo tablespaces\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: log sequence number 7617090664; transaction id 11488208\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] Plugin 'FEEDBACK' is disabled.\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] Plugin 'wsrep-provider' is disabled.\nngrok | t=2026-04-22T06:37:18+0000 lvl=info msg=\"update available\" obj=updater\ndocker_lamp_1 | + j2 /root/.j2_templates/blackfire/cli.ini.j2\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Buffer pool(s) load completed at 260422 6:37:18\ndocker_lamp_1 | + declare EMPTY_DB\ndocker_lamp_1 | + db_is_empty\ndocker_lamp_1 | ++ find /var/lib/mysql/ -maxdepth 1\ndocker_lamp_1 | ++ wc -l\ndocker_lamp_1 | + [[ 11 -lt 5 ]]\ndocker_lamp_1 | + EMPTY_DB=0\ndocker_lamp_1 | + readonly EMPTY_DB\ndocker_lamp_1 | + [[ 0 -eq 1 ]]\ndocker_lamp_1 | + [[ local == \\l\\o\\c\\a\\l ]]\ndocker_lamp_1 | + set_nginx_domain dev.jiminny.com\ndocker_lamp_1 | + declare -r DOMAIN_NAME=dev.jiminny.com\ndocker_lamp_1 | + cp -f /etc/nginx/nginx_template.conf /etc/nginx/nginx.conf\ndocker_lamp_1 | + sed -i -E s~_JIMINNY_DOMAIN~app.dev.jiminny.com~g /etc/nginx/nginx.conf\ndocker_lamp_1 | + sed -i -E s~_JIMINNY_EXT_DOMAIN~ext.dev.jiminny.com~g /etc/nginx/nginx.conf\ndocker_lamp_1 | + sed -i -E s~_JIMINNY_WEB_DOMAIN~www.dev.jiminny.com~g /etc/nginx/nginx.conf\ndocker_lamp_1 | + [[ -n 3399 ]]\ndocker_lamp_1 | + sed -i -E 's~http:\\/\\/jiminny_ext:8080~http://jiminny_ext:3399~g' /etc/nginx/nginx.conf\ndocker_lamp_1 | + [[ -n host.docker.internal ]]\ndocker_lamp_1 | + sed -i -E 's~http:\\/\\/jiminny_ext~http://host.docker.internal~g' /etc/nginx/nginx.conf\ndocker_lamp_1 | + build_dev\ndocker_lamp_1 | + cd /home/jiminny/\ndocker_lamp_1 | + create_dot_env_local_file\ndocker_lamp_1 | + cp -f /home/jiminny/.env.local /home/jiminny/.env.local.bak\ndocker_lamp_1 | + create_dot_env\ndocker_lamp_1 | + [[ -f /home/jiminny/.env ]]\ndocker_lamp_1 | + return\ndocker_lamp_1 | + declare DB_ADMIN_PASSWORD\ndocker_lamp_1 | + declare DB_ADMIN_USERNAME\ndocker_lamp_1 | + declare DB_DEV_PASSWORD\ndocker_lamp_1 | + declare DB_DEV_USERNAME\ndocker_lamp_1 | + declare DB_ROOT_PASSWORD\ndocker_lamp_1 | + declare DB_ROOT_USERNAME\ndocker_lamp_1 | + declare DB_WEB_PASSWORD\ndocker_lamp_1 | + declare DB_WEB_USERNAME\ndocker_lamp_1 | ++ jq -r .DB_ADMIN_PASSWORD /home/jiminny/dev.json\ndocker_lamp_1 | + DB_ADMIN_PASSWORD='dgyt$rTe21-d'\ndocker_lamp_1 | ++ jq -r .DB_ADMIN_USERNAME /home/jiminny/dev.json\ndocker_lamp_1 | + DB_ADMIN_USERNAME=jmnyadmin\ndocker_lamp_1 | ++ jq -r .DB_DEV_PASSWORD /home/jiminny/dev.json\ndatadog-1 | [s6-init] ensuring user provided files have correct perms...exited 0.\ndocker_lamp_1 | + DB_DEV_PASSWORD=rTr4sdQA65-Ad\ndocker_lamp_1 | ++ jq -r .DB_DEV_USERNAME /home/jiminny/dev.json\ndocker_lamp_1 | + DB_DEV_USERNAME=jmnydev\ndocker_lamp_1 | ++ jq -r .DB_ROOT_PASSWORD /home/jiminny/dev.json\ndatadog-1 | [fix-attrs.d] applying ownership & permissions fixes...\ndatadog-1 | [fix-attrs.d] done.\ndocker_lamp_1 | + DB_ROOT_PASSWORD=b7h5-1fH3e54J\ndocker_lamp_1 | ++ jq -r .DB_ROOT_USERNAME /home/jiminny/dev.json\ndatadog-1 | [cont-init.d] executing container initialization scripts...\ndocker_lamp_1 | + DB_ROOT_USERNAME=root\ndocker_lamp_1 | ++ jq -r .DB_WEB_PASSWORD /home/jiminny/dev.json\ndatadog-1 | [cont-init.d] 01-check-apikey.sh: executing... \ndocker_lamp_1 | + DB_WEB_PASSWORD=aR5-EWf23b8da\ndocker_lamp_1 | ++ jq -r .DB_WEB_USERNAME /home/jiminny/dev.json\ndatadog-1 | \ndatadog-1 | ==================================================================================\ndatadog-1 | You must set an DD_API_KEY environment variable to run the Datadog Agent container\ndatadog-1 | ==================================================================================\ndatadog-1 | \ndocker_lamp_1 | + DB_WEB_USERNAME=jmnyweb\ndocker_lamp_1 | + readonly DB_ADMIN_PASSWORD\ndocker_lamp_1 | + readonly DB_ADMIN_USERNAME\ndocker_lamp_1 | + readonly DB_DEV_PASSWORD\ndocker_lamp_1 | + readonly DB_DEV_USERNAME\ndocker_lamp_1 | + readonly DB_ROOT_PASSWORD\ndocker_lamp_1 | + readonly DB_ROOT_USERNAME\ndocker_lamp_1 | + readonly DB_WEB_PASSWORD\ndocker_lamp_1 | + readonly DB_WEB_USERNAME\ndocker_lamp_1 | + sed -i -E 's~DB_USERNAME=.*$~DB_USERNAME=jmnyadmin~g' /home/jiminny/.env\ndatadog-1 | [cont-init.d] 01-check-apikey.sh: exited 1.\ndocker_lamp_1 | + sed -i -E 's~DB_PASSWORD=.*$~DB_PASSWORD=dgyt$rTe21-d~g' /home/jiminny/.env\ndocker_lamp_1 | + sed -i -E 's~DB_HOST=.*$~DB_HOST=mariadb~g' /home/jiminny/.env\ndocker_lamp_1 | + cp -f /home/jiminny/.env /home/jiminny/.env.root\ndocker_lamp_1 | + cp -f /home/jiminny/.env /home/jiminny/.env.migrate\ndocker_lamp_1 | + sed -i -E 's~DB_PASSWORD=.*$~DB_PASSWORD=b7h5-1fH3e54J~g' /home/jiminny/.env.migrate\ndocker_lamp_1 | + sed -i -E 's~DB_PASSWORD=.*$~DB_PASSWORD=b7h5-1fH3e54J~g' /home/jiminny/.env.root\ndocker_lamp_1 | + sed -i -E 's~DB_USERNAME=.*$~DB_USERNAME=root~g' /home/jiminny/.env.migrate\ndocker_lamp_1 | + sed -i -E 's~DB_USERNAME=.*$~DB_USERNAME=root~g' /home/jiminny/.env.root\ndocker_lamp_1 | + cp -f /home/jiminny/.env /home/jiminny/.env.local\ndocker_lamp_1 | + echo ''\ndocker_lamp_1 | + echo 'DB_ADMIN_PASSWORD=dgyt$rTe21-d'\ndocker_lamp_1 | + echo DB_ADMIN_USERNAME=jmnyadmin\ndocker_lamp_1 | + echo DB_DEV_PASSWORD=rTr4sdQA65-Ad\ndocker_lamp_1 | + echo DB_DEV_USERNAME=jmnydev\ndocker_lamp_1 | + echo DB_ROOT_PASSWORD=b7h5-1fH3e54J\ndocker_lamp_1 | + echo DB_ROOT_USERNAME=root\ndocker_lamp_1 | + echo DB_WEB_PASSWORD=aR5-EWf23b8da\ndocker_lamp_1 | + echo DB_WEB_USERNAME=jmnyweb\ndocker_lamp_1 | + [[ false == \\f\\a\\l\\s\\e ]]\ndocker_lamp_1 | + declare COMPOSER_PARAM=--prefer-dist\ndocker_lamp_1 | + [[ 0 -eq 1 ]]\ndocker_lamp_1 | + composer install --prefer-dist\ndatadog-1 exited with code 1\nmariadb-1 | 2026-04-22 6:37:22 0 [Note] Server socket created on IP: '0.0.0.0'.\nmariadb-1 | 2026-04-22 6:37:22 0 [Note] Server socket created on IP: '::'.\nmariadb-1 | 2026-04-22 6:37:22 0 [Note] mariadbd: Event Scheduler: Loaded 0 events\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-22T06:37:22,196Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"version[7.10.2], pid[7], build[default/docker/747e1cc71def077253878a59143c1f785afa92b9/2021-01-13T04:42:47.157277Z], OS[Linux/6.12.54-linuxkit/aarch64], JVM[AdoptOpenJDK/OpenJDK 64-Bit Server VM/15.0.1/15.0.1+9]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-22T06:37:22,198Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"JVM home [/usr/share/elasticsearch/jdk], using bundled JDK [true]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-22T06:37:22,198Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"JVM arguments [-Xshare:auto, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -XX:+ShowCodeDetailsInExceptionMessages, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.locale.providers=SPI,COMPAT, -Xms1g, -Xmx1g, -XX:+UseG1GC, -XX:G1ReservePercent=25, -XX:InitiatingHeapOccupancyPercent=30, -Djava.io.tmpdir=/tmp/elasticsearch-15097132926219727140, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=data, -XX:ErrorFile=logs/hs_err_pid%p.log, -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m, -Des.cgroups.hierarchy.override=/, -Xms700m, -Xmx700m, -XX:MaxDirectMemorySize=367001600, -Des.path.home=/usr/share/elasticsearch, -Des.path.conf=/usr/share/elasticsearch/config, -Des.distribution.flavor=default, -Des.distribution.type=docker, -Des.bundled_jdk=true]\" }\nmariadb-1 | 2026-04-22 6:37:22 0 [Note] mariadbd: ready for connections.\nmariadb-1 | Version: '11.4.5-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution\ndocker_lamp_1 | Installing dependencies from lock file (including require-dev)\ndocker_lamp_1 | Verifying lock file contents can be installed on current platform.\ndocker_lamp_1 | Package operations: 0 installs, 4 updates, 0 removals\ndocker_lamp_1 | - Syncing league/commonmark (2.8.2) into cache\ndocker_lamp_1 | - Syncing phpseclib/phpseclib (3.0.51) into cache\n\n\nv View in Docker Desktop o View Config w Enable Watch","depth":4,"value":"oc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)\ndocker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)\ndocker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)\ndocker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)\ndocker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Dispatched 4 HubSpot sync jobs\ndocker_lamp_1 | ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ...... 803.44ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ....... 11.39ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 7.24ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ............ RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:13 Jiminny\\Jobs\\Crm\\SyncHubspotObjects ........ 8.32ms DONE\ndocker_lamp_1 | {\"canceled\":46}...... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.\ndocker_lamp_1 | ............... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ............ 62.98ms DONE\ndocker_lamp_1 | 2026-04-21 17:06:17 Jiminny\\Jobs\\Mailbox\\SyncInbox ................. RUNNING\ndocker_lamp_1 | 2026-04-21 17:06:18 Jiminny\\Jobs\\Mailbox\\SyncInbox ........... 899.81ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:07:09 Jiminny\\Jobs\\Mailbox\\CreateBatches ........ 53.80ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] ........ 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:13:02 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 107.78ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)\ndocker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)\ndocker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)\ndocker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)\ndocker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)\ndocker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)\ndocker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)\ndocker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...\ndocker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)\ndocker_lamp_1 | ........... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:14:10 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\SyncObjects .............. 31.97ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:11 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 674.13ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:12 Jiminny\\Jobs\\Crm\\SyncObjects .............. 13.23ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:14 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:15 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:16 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 466.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:17 Jiminny\\Jobs\\Crm\\SyncObjects .............. 28.71ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:18 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:19 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:20 Jiminny\\Jobs\\Crm\\SyncObjects .............. 56.51ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:21 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 463.34ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:22 Jiminny\\Jobs\\Crm\\SyncObjects .............. 23.02ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:24 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\SyncObjects ................... 2s DONE\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:27 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 518.85ms DONE\ndocker_lamp_1 | 2026-04-21 17:14:31 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-21 17:14:32 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 515.39ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE\ndocker_lamp_1 | 🚀\u0000 Starting HubSpot journal polling service...\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ....... 883.81ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:49 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 2026-04-21 17:15:50 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ....... 769.00ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:51 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 599.40ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ....... 413.70ms DONE\ndocker_lamp_1 | 2026-04-21 17:15:52 Jiminny\\Jobs\\Activity\\SyncActivity ............. RUNNING\ndocker_lamp_1 | 2026-04-21 17:15:53 Jiminny\\Jobs\\Activity\\SyncActivity ............. 1s DONE\ndocker_lamp_1 | 0 social account(s) to be processed ...\ndocker_lamp_1 | \ndocker_lamp_1 | Done!\ndocker_lamp_1 | 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ............. RUNNING\ndocker_lamp_1 | ....... 7s DONE\ndocker_lamp_1 | 2026-04-21 17:17:49 Jiminny\\Jobs\\Mailbox\\CreateBatches ....... 122.90ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams: \ndocker_lamp_1 | ........ 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | \ndocker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {\ndocker_lamp_1 | \"error\": \"invalid_request\",\ndocker_lamp_1 | \"error_description\": \"Invalid impersonation \\u0026quot;sub\\u0026quot; field: @\"\ndocker_lamp_1 | }\ndocker_lamp_1 | .... 1s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31\" \"$?\") > '/dev/null' 2>&1 & \ndocker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE\ndocker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish \"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e\" \"$?\") > '/dev/null' 2>&1 & \nunexpected EOF\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ work\nWARN[0000] /Users/lukas/jiminny/infrastructure/dev/docker/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion \nAttaching to blackfire-1, datadog-1, jiminny_ext-1, mariadb-1, docker_lamp_1, elasticsearch, kibana, ngrok, redis\nmariadb-1 | 2026-04-22 06:37:16+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nredis | 1:C 22 Apr 2026 06:37:16.275 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo\nredis | 1:C 22 Apr 2026 06:37:16.276 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started\nredis | 1:C 22 Apr 2026 06:37:16.276 # Configuration loaded\nredis | 1:M 22 Apr 2026 06:37:16.290 * Running mode=standalone, port=6379.\nredis | 1:M 22 Apr 2026 06:37:16.290 # Server initialized\nredis | 1:M 22 Apr 2026 06:37:16.290 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.\nredis | 1:M 22 Apr 2026 06:37:16.301 * Reading RDB preamble from AOF file...\nredis | 1:M 22 Apr 2026 06:37:16.304 * Reading the remaining AOF tail...\nblackfire-1 | [2026-04-22T06:37:16Z] ERROR: The server ID parameter is not set. Please run 'blackfire-agent -register' to configure it.\nblackfire-1 | usage blackfire-agent [options]\nblackfire-1 | --collector=\"https://blackfire.io\": Sets the URL of Blackfire's data collector\nblackfire-1 | --config=\"/etc/blackfire/agent\": Sets the path to the configuration file\nblackfire-1 | -d: Prints the current configuration\nblackfire-1 | --http-proxy=\"\": Sets the HTTP proxy to use\nblackfire-1 | --https-proxy=\"\": Sets the HTTPS proxy to use\nblackfire-1 | --log-file=\"stderr\": Sets the path of the log file. Use stderr to log to stderr\nblackfire-1 | --log-level=\"1\": log verbosity level (4: debug, 3: info, 2: warning, 1: error)\nblackfire-1 | --register: Helps you with registering the agent\nblackfire-1 | --server-id=\"\": Sets the server id used to authenticate with Blackfire API\nblackfire-1 | --server-token=\"\": Sets the server token used to authenticate with Blackfire API. It is unsafe to set this from the command line\nblackfire-1 | --socket=\"unix:///var/run/blackfire/agent.sock\": Sets the socket the agent should read traces from. Possible value can be a unix socket or a TCP address. ie: unix:///var/run/blackfire/agent.sock or tcp://127.0.0.1:8307\nblackfire-1 | --test: Tests the configuration\nblackfire-1 | --timeout=\"15s\": Sets the Blackfire connection timeout\nblackfire-1 | -v: Prints the version number\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"no configuration paths supplied\"\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"using configuration at default config path\" path=/home/ngrok/.ngrok2/ngrok.yml\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"open config file\" path=/home/ngrok/.ngrok2/ngrok.yml err=nil\nngrok | t=2026-04-22T06:37:16+0000 lvl=info msg=\"starting web service\" obj=web addr=0.0.0.0:4040\nblackfire-1 exited with code 1\njiminny_ext-1 exited with code 0\ndocker_lamp_1 | + main\ndocker_lamp_1 | + declare START_DIR\ndocker_lamp_1 | +++ realpath /scripts/init-dev\ndocker_lamp_1 | ++ dirname /scripts/init-dev\ndocker_lamp_1 | + START_DIR=/scripts\ndocker_lamp_1 | + readonly START_DIR\ndocker_lamp_1 | + source /scripts/storage_init.sh\ndocker_lamp_1 | ++ set -o errexit\ndocker_lamp_1 | ++ set -o nounset\ndocker_lamp_1 | ++ set -o pipefail\ndocker_lamp_1 | + create_bind_mount\ndocker_lamp_1 | + [[ 0 == \\1 ]]\ndocker_lamp_1 | + configure_xdebug\ndocker_lamp_1 | + j2 /root/.j2_templates/xdebug/xdebug.ini.j2\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'\nmariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"tunnel session started\" obj=tunnels.session\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"client session established\" obj=csess id=634823eea3ad\ndatadog-1 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=\"command_line (http)\" addr=http://lamp:3080 url=http://lukask.ngrok.io\nngrok | t=2026-04-22T06:37:17+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=command_line addr=http://lamp:3080 url=https://lukask.ngrok.io\nmariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade information missing, assuming required\nmariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade or creating healthcheck users) required, but skipped due to $MARIADB_AUTO_UPGRADE setting\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] Starting MariaDB 11.4.5-MariaDB-ubu2404 source revision 0771110266ff5c04216af4bf1243c65f8c67ccf4 server_uid CA2X+ff4t+no/8l8iJfdnqVJ+RA= as process 1\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Compressed tables use zlib 1.3\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Number of transaction pools: 1\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using liburing\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Completed initialization of buffer pool\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: End of log at LSN=7617090664\ndocker_lamp_1 | + configure_blackfire\ndocker_lamp_1 | + j2 /root/.j2_templates/blackfire/extension.ini.j2\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Opened 3 undo tablespaces\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: log sequence number 7617090664; transaction id 11488208\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] Plugin 'FEEDBACK' is disabled.\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] Plugin 'wsrep-provider' is disabled.\nngrok | t=2026-04-22T06:37:18+0000 lvl=info msg=\"update available\" obj=updater\ndocker_lamp_1 | + j2 /root/.j2_templates/blackfire/cli.ini.j2\nmariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Buffer pool(s) load completed at 260422 6:37:18\ndocker_lamp_1 | + declare EMPTY_DB\ndocker_lamp_1 | + db_is_empty\ndocker_lamp_1 | ++ find /var/lib/mysql/ -maxdepth 1\ndocker_lamp_1 | ++ wc -l\ndocker_lamp_1 | + [[ 11 -lt 5 ]]\ndocker_lamp_1 | + EMPTY_DB=0\ndocker_lamp_1 | + readonly EMPTY_DB\ndocker_lamp_1 | + [[ 0 -eq 1 ]]\ndocker_lamp_1 | + [[ local == \\l\\o\\c\\a\\l ]]\ndocker_lamp_1 | + set_nginx_domain dev.jiminny.com\ndocker_lamp_1 | + declare -r DOMAIN_NAME=dev.jiminny.com\ndocker_lamp_1 | + cp -f /etc/nginx/nginx_template.conf /etc/nginx/nginx.conf\ndocker_lamp_1 | + sed -i -E s~_JIMINNY_DOMAIN~app.dev.jiminny.com~g /etc/nginx/nginx.conf\ndocker_lamp_1 | + sed -i -E s~_JIMINNY_EXT_DOMAIN~ext.dev.jiminny.com~g /etc/nginx/nginx.conf\ndocker_lamp_1 | + sed -i -E s~_JIMINNY_WEB_DOMAIN~www.dev.jiminny.com~g /etc/nginx/nginx.conf\ndocker_lamp_1 | + [[ -n 3399 ]]\ndocker_lamp_1 | + sed -i -E 's~http:\\/\\/jiminny_ext:8080~http://jiminny_ext:3399~g' /etc/nginx/nginx.conf\ndocker_lamp_1 | + [[ -n host.docker.internal ]]\ndocker_lamp_1 | + sed -i -E 's~http:\\/\\/jiminny_ext~http://host.docker.internal~g' /etc/nginx/nginx.conf\ndocker_lamp_1 | + build_dev\ndocker_lamp_1 | + cd /home/jiminny/\ndocker_lamp_1 | + create_dot_env_local_file\ndocker_lamp_1 | + cp -f /home/jiminny/.env.local /home/jiminny/.env.local.bak\ndocker_lamp_1 | + create_dot_env\ndocker_lamp_1 | + [[ -f /home/jiminny/.env ]]\ndocker_lamp_1 | + return\ndocker_lamp_1 | + declare DB_ADMIN_PASSWORD\ndocker_lamp_1 | + declare DB_ADMIN_USERNAME\ndocker_lamp_1 | + declare DB_DEV_PASSWORD\ndocker_lamp_1 | + declare DB_DEV_USERNAME\ndocker_lamp_1 | + declare DB_ROOT_PASSWORD\ndocker_lamp_1 | + declare DB_ROOT_USERNAME\ndocker_lamp_1 | + declare DB_WEB_PASSWORD\ndocker_lamp_1 | + declare DB_WEB_USERNAME\ndocker_lamp_1 | ++ jq -r .DB_ADMIN_PASSWORD /home/jiminny/dev.json\ndocker_lamp_1 | + DB_ADMIN_PASSWORD='dgyt$rTe21-d'\ndocker_lamp_1 | ++ jq -r .DB_ADMIN_USERNAME /home/jiminny/dev.json\ndocker_lamp_1 | + DB_ADMIN_USERNAME=jmnyadmin\ndocker_lamp_1 | ++ jq -r .DB_DEV_PASSWORD /home/jiminny/dev.json\ndatadog-1 | [s6-init] ensuring user provided files have correct perms...exited 0.\ndocker_lamp_1 | + DB_DEV_PASSWORD=rTr4sdQA65-Ad\ndocker_lamp_1 | ++ jq -r .DB_DEV_USERNAME /home/jiminny/dev.json\ndocker_lamp_1 | + DB_DEV_USERNAME=jmnydev\ndocker_lamp_1 | ++ jq -r .DB_ROOT_PASSWORD /home/jiminny/dev.json\ndatadog-1 | [fix-attrs.d] applying ownership & permissions fixes...\ndatadog-1 | [fix-attrs.d] done.\ndocker_lamp_1 | + DB_ROOT_PASSWORD=b7h5-1fH3e54J\ndocker_lamp_1 | ++ jq -r .DB_ROOT_USERNAME /home/jiminny/dev.json\ndatadog-1 | [cont-init.d] executing container initialization scripts...\ndocker_lamp_1 | + DB_ROOT_USERNAME=root\ndocker_lamp_1 | ++ jq -r .DB_WEB_PASSWORD /home/jiminny/dev.json\ndatadog-1 | [cont-init.d] 01-check-apikey.sh: executing... \ndocker_lamp_1 | + DB_WEB_PASSWORD=aR5-EWf23b8da\ndocker_lamp_1 | ++ jq -r .DB_WEB_USERNAME /home/jiminny/dev.json\ndatadog-1 | \ndatadog-1 | ==================================================================================\ndatadog-1 | You must set an DD_API_KEY environment variable to run the Datadog Agent container\ndatadog-1 | ==================================================================================\ndatadog-1 | \ndocker_lamp_1 | + DB_WEB_USERNAME=jmnyweb\ndocker_lamp_1 | + readonly DB_ADMIN_PASSWORD\ndocker_lamp_1 | + readonly DB_ADMIN_USERNAME\ndocker_lamp_1 | + readonly DB_DEV_PASSWORD\ndocker_lamp_1 | + readonly DB_DEV_USERNAME\ndocker_lamp_1 | + readonly DB_ROOT_PASSWORD\ndocker_lamp_1 | + readonly DB_ROOT_USERNAME\ndocker_lamp_1 | + readonly DB_WEB_PASSWORD\ndocker_lamp_1 | + readonly DB_WEB_USERNAME\ndocker_lamp_1 | + sed -i -E 's~DB_USERNAME=.*$~DB_USERNAME=jmnyadmin~g' /home/jiminny/.env\ndatadog-1 | [cont-init.d] 01-check-apikey.sh: exited 1.\ndocker_lamp_1 | + sed -i -E 's~DB_PASSWORD=.*$~DB_PASSWORD=dgyt$rTe21-d~g' /home/jiminny/.env\ndocker_lamp_1 | + sed -i -E 's~DB_HOST=.*$~DB_HOST=mariadb~g' /home/jiminny/.env\ndocker_lamp_1 | + cp -f /home/jiminny/.env /home/jiminny/.env.root\ndocker_lamp_1 | + cp -f /home/jiminny/.env /home/jiminny/.env.migrate\ndocker_lamp_1 | + sed -i -E 's~DB_PASSWORD=.*$~DB_PASSWORD=b7h5-1fH3e54J~g' /home/jiminny/.env.migrate\ndocker_lamp_1 | + sed -i -E 's~DB_PASSWORD=.*$~DB_PASSWORD=b7h5-1fH3e54J~g' /home/jiminny/.env.root\ndocker_lamp_1 | + sed -i -E 's~DB_USERNAME=.*$~DB_USERNAME=root~g' /home/jiminny/.env.migrate\ndocker_lamp_1 | + sed -i -E 's~DB_USERNAME=.*$~DB_USERNAME=root~g' /home/jiminny/.env.root\ndocker_lamp_1 | + cp -f /home/jiminny/.env /home/jiminny/.env.local\ndocker_lamp_1 | + echo ''\ndocker_lamp_1 | + echo 'DB_ADMIN_PASSWORD=dgyt$rTe21-d'\ndocker_lamp_1 | + echo DB_ADMIN_USERNAME=jmnyadmin\ndocker_lamp_1 | + echo DB_DEV_PASSWORD=rTr4sdQA65-Ad\ndocker_lamp_1 | + echo DB_DEV_USERNAME=jmnydev\ndocker_lamp_1 | + echo DB_ROOT_PASSWORD=b7h5-1fH3e54J\ndocker_lamp_1 | + echo DB_ROOT_USERNAME=root\ndocker_lamp_1 | + echo DB_WEB_PASSWORD=aR5-EWf23b8da\ndocker_lamp_1 | + echo DB_WEB_USERNAME=jmnyweb\ndocker_lamp_1 | + [[ false == \\f\\a\\l\\s\\e ]]\ndocker_lamp_1 | + declare COMPOSER_PARAM=--prefer-dist\ndocker_lamp_1 | + [[ 0 -eq 1 ]]\ndocker_lamp_1 | + composer install --prefer-dist\ndatadog-1 exited with code 1\nmariadb-1 | 2026-04-22 6:37:22 0 [Note] Server socket created on IP: '0.0.0.0'.\nmariadb-1 | 2026-04-22 6:37:22 0 [Note] Server socket created on IP: '::'.\nmariadb-1 | 2026-04-22 6:37:22 0 [Note] mariadbd: Event Scheduler: Loaded 0 events\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-22T06:37:22,196Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"version[7.10.2], pid[7], build[default/docker/747e1cc71def077253878a59143c1f785afa92b9/2021-01-13T04:42:47.157277Z], OS[Linux/6.12.54-linuxkit/aarch64], JVM[AdoptOpenJDK/OpenJDK 64-Bit Server VM/15.0.1/15.0.1+9]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-22T06:37:22,198Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"JVM home [/usr/share/elasticsearch/jdk], using bundled JDK [true]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-22T06:37:22,198Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"JVM arguments [-Xshare:auto, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -XX:+ShowCodeDetailsInExceptionMessages, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.locale.providers=SPI,COMPAT, -Xms1g, -Xmx1g, -XX:+UseG1GC, -XX:G1ReservePercent=25, -XX:InitiatingHeapOccupancyPercent=30, -Djava.io.tmpdir=/tmp/elasticsearch-15097132926219727140, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=data, -XX:ErrorFile=logs/hs_err_pid%p.log, -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m, -Des.cgroups.hierarchy.override=/, -Xms700m, -Xmx700m, -XX:MaxDirectMemorySize=367001600, -Des.path.home=/usr/share/elasticsearch, -Des.path.conf=/usr/share/elasticsearch/config, -Des.distribution.flavor=default, -Des.distribution.type=docker, -Des.bundled_jdk=true]\" }\nmariadb-1 | 2026-04-22 6:37:22 0 [Note] mariadbd: ready for connections.\nmariadb-1 | Version: '11.4.5-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution\ndocker_lamp_1 | Installing dependencies from lock file (including require-dev)\ndocker_lamp_1 | Verifying lock file contents can be installed on current platform.\ndocker_lamp_1 | Package operations: 0 installs, 4 updates, 0 removals\ndocker_lamp_1 | - Syncing league/commonmark (2.8.2) into cache\ndocker_lamp_1 | - Syncing phpseclib/phpseclib (3.0.51) into cache\n\n\nv View in Docker Desktop o View Config w Enable Watch","is_focused":true},{"role":"AXButton","text":"Menu","depth":3,"bounds":{"left":0.48472223,"top":0.08944444,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥1 DOCKER (docker-compose)","depth":3,"bounds":{"left":0.01875,"top":0.09,"width":0.4625,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:47:56 on console\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ prod\n(lukas@jiminny-prod-bastion) Verification code: \nWelcome to Ubuntu 22.04.5 LTS (GNU/Linux 6.8.0-1041-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:09 UTC 2026\n\n System load: 0.0 Processes: 126\n Usage of /: 58.6% of 7.57GB Users logged in: 2\n Memory usage: 36% IPv4 address for eth0: 10.30.45.167\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n37 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:15 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$","depth":5,"value":"Last login: Mon Apr 20 19:47:56 on console\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ prod\n(lukas@jiminny-prod-bastion) Verification code: \nWelcome to Ubuntu 22.04.5 LTS (GNU/Linux 6.8.0-1041-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:09 UTC 2026\n\n System load: 0.0 Processes: 126\n Usage of /: 58.6% of 7.57GB Users logged in: 2\n Memory usage: 36% IPv4 address for eth0: 10.30.45.167\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n37 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:15 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.08944444,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥2 PROD (ssh)","depth":4,"bounds":{"left":0.51875,"top":0.09,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:03 on ttys001\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:15 UTC 2026\n\n System load: 0.0 Processes: 119\n Usage of /: 58.0% of 7.57GB Users logged in: 2\n Memory usage: 19% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:23 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 16:24:08 UTC 2026\n\n System load: 0.0 Processes: 139\n Usage of /: 58.0% of 7.57GB Users logged in: 3\n Memory usage: 21% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Tue Apr 21 06:17:16 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$","depth":5,"value":"Last login: Mon Apr 20 19:48:03 on ttys001\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 06:17:15 UTC 2026\n\n System load: 0.0 Processes: 119\n Usage of /: 58.0% of 7.57GB Users logged in: 2\n Memory usage: 19% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Mon Apr 20 15:14:23 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ eu\n(lukas@jiminny-eu-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1047-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 16:24:08 UTC 2026\n\n System load: 0.0 Processes: 139\n Usage of /: 58.0% of 7.57GB Users logged in: 3\n Memory usage: 21% IPv4 address for eth0: 10.20.163.228\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\n*** System restart required ***\nLast login: Tue Apr 21 06:17:16 2026 from 212.5.153.87\nlukas@jiminny-eu-bastion:~$","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.23944445,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥3 EU (ssh)","depth":4,"bounds":{"left":0.51875,"top":0.24,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ stg\n(lukas@jiminny-stage-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1052-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 14:39:05 UTC 2026\n\n System load: 0.0 Processes: 137\n Usage of /: 57.6% of 7.57GB Users logged in: 4\n Memory usage: 30% IPv4 address for ens5: 10.30.46.154\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\nLast login: Thu Apr 16 07:34:39 2026 from 212.39.71.189\nlukas@jiminny-stage-bastion:~$","depth":5,"value":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ stg\n(lukas@jiminny-stage-bastion) Verification code: \nWelcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.8.0-1052-aws x86_64)\n\n * Documentation: https://help.ubuntu.com\n * Management: https://landscape.canonical.com\n * Support: https://ubuntu.com/pro\n\n System information as of Tue Apr 21 14:39:05 UTC 2026\n\n System load: 0.0 Processes: 137\n Usage of /: 57.6% of 7.57GB Users logged in: 4\n Memory usage: 30% IPv4 address for ens5: 10.30.46.154\n Swap usage: 0%\n\n * Ubuntu Pro delivers the most comprehensive open source security and\n compliance features.\n\n https://ubuntu.com/aws/pro\n\nExpanded Security Maintenance for Applications is not enabled.\n\n85 updates can be applied immediately.\nTo see these additional updates run: apt list --upgradable\n\nEnable ESM Apps to receive additional future security updates.\nSee https://ubuntu.com/esm or run: sudo pro status\n\nNew release '24.04.4 LTS' available.\nRun 'do-release-upgrade' to upgrade to it.\n\n\nLast login: Thu Apr 16 07:34:39 2026 from 212.39.71.189\nlukas@jiminny-stage-bastion:~$","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.40944445,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥4 STAGE (ssh)","depth":4,"bounds":{"left":0.51875,"top":0.41,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":5,"bounds":{"left":0.5,"top":0.56222224,"width":0.5,"height":0.1388889},"value":"Last login: Mon Apr 20 19:48:04 on ttys002\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.5594444,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥5 QA (-zsh)","depth":4,"bounds":{"left":0.51875,"top":0.56,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys004\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":5,"bounds":{"left":0.5,"top":0.7088889,"width":0.5,"height":0.1411111},"value":"Last login: Mon Apr 20 19:48:04 on ttys004\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.70611113,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥6 FE (-zsh)","depth":4,"bounds":{"left":0.51875,"top":0.70666665,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:48:04 on ttys005\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","depth":5,"bounds":{"left":0.5,"top":0.87777776,"width":0.5,"height":0.12222222},"value":"Last login: Mon Apr 20 19:48:04 on ttys005\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","is_focused":true},{"role":"AXButton","text":"Menu","depth":4,"bounds":{"left":0.98541665,"top":0.855,"width":0.010416667,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"⌥7 EXT (-zsh)","depth":4,"bounds":{"left":0.51875,"top":0.85555553,"width":0.46319443,"height":0.015555556},"role_description":"text"},{"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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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":"DOCKER (docker-compose)","depth":1,"bounds":{"left":0.43611112,"top":0.033333335,"width":0.12708333,"height":0.017777778},"role_description":"text"}]...
|
-5258304382822716614
|
-8287987054946251995
|
visual_change
|
accessibility
|
NULL
|
oc/1/fd/1' 2>&1
docker_lamp_1 |
doc oc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:06:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:05 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:06 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:09 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:10 Running ['artisan' crm:sync-hubspot-objects] [HubSpot] Syncing objects for Hubspot (abae74b8-bfa8-4383-9a7f-89f4bf2bdbb4) since 2026-04-21 16:47:18 (delay: 0s)
docker_lamp_1 | Team TestV (2708d27a-7f31-4d90-bd2b-b5bde1c0211e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team KioskAccount (dedab245-604c-4cd2-a83e-4b9e034b2772) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for InsightSquared (b2b115eb-93ce-4d1b-929c-173757df8fba) since 2026-02-17 15:09:59 (delay: 0s)
docker_lamp_1 | Team Aircall Demo (7980e5eb-b11c-4cee-9c21-8bb29ba85f3b) is not yet assigned an owner. skipping...
docker_lamp_1 | [HubSpot] Syncing objects for GoStudent UAT (b2d49a54-b645-4637-a7ae-a86cfce6e8e4) since 2026-02-17 15:09:59 (delay: 1s)
docker_lamp_1 | [HubSpot] Syncing objects for JustCall (c6b9d6b0-b48d-4832-a68c-a57d60651888) since 2026-02-17 15:07:41 (delay: 1s)
docker_lamp_1 | Team Twilio Video (c334ca55-b230-411c-b10e-31c8204bd07b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team My Test Account 3000 (dbc9990d-b35f-4e38-9550-22cdd6059514) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test (7997eb70-8aa4-491a-870d-311977568df4) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test (5e06dcee-0613-470e-9a77-2c283198f3bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team test ogg auto sync (da44776e-306f-427a-83d8-a1b4baa5537e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Tourlaner (d9b71080-388b-4cf5-8175-aa0f29bee635) is not yet assigned an owner. skipping...
docker_lamp_1 | Dispatched 4 HubSpot sync jobs
docker_lamp_1 | ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-hubspot-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:11 Running ['artisan' activity:notify-not-logged] 2026-04-21 17:06:12 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:notify-not-logged > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:12 Running ['artisan' activity:status-count] 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ...... 803.44ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects ....... 11.39ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 7.24ms DONE
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:13 Jiminny\Jobs\Crm\SyncHubspotObjects [PASSWORD_DOTS] 8.32ms DONE
docker_lamp_1 | {"canceled":46}...... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:status-count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:06:13 Running ['artisan' mailbox:sync] Queueing 2 inbox(es) for sync.
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 62.98ms DONE
docker_lamp_1 | 2026-04-21 17:06:17 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:06:18 Jiminny\Jobs\Mailbox\SyncInbox [PASSWORD_DOTS] 899.81ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:07:02 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:03 Running ['artisan' dialers:monitor-activities] 952.70ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:04 Running ['artisan' jiminny:monitor-social-accounts] 972.15ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:05 Running ['artisan' mailbox:skip-lists:refresh] 961.04ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:06 Running ['artisan' mailbox:batch:process --max-batches=15] 942.27ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:07 Running ['artisan' mailbox:batch:create] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:07:08 Running ['artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00'] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync 'ringcentral' 'avaya' 'telus' 'talkdesk' --from='2026-04-21 16:51:00' --to='2026-04-21 17:07:00' > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:07:09 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] 53.80ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:08:01 Running ['artisan' meeting-bot:schedule-bot] 980.64ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:02 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:03 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:05 Running ['artisan' mailbox:skip-lists:refresh] 996.43ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:06 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:07 Running ['artisan' conference:monitor:count] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:08:10 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 15.99ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:09:09 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:13 Running ['artisan' dialers:monitor-activities] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:16 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:17 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:19 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:20 Running ['artisan' activity:aircall:check-and-renew] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:aircall:check-and-renew > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:09:22 Running ['artisan' track:retry-failed-downloads] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' track:retry-failed-downloads > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:10:07 Running ['artisan' meeting-bot:schedule-bot] ... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:09 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:15 Running ['artisan' jiminny:monitor-social-accounts] 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:21 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:27 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:34 Running ['artisan' conference:monitor:count] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:41 Running ['artisan' activity:purge-stale] ....... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:48 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:10:55 Running ['artisan' conference:pre-meeting-notification] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:02 Running ['artisan' conference:monitor:start] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:08 Running ['artisan' conference:monitor:end] ..... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:16 Running ['artisan' jiminny:fix-hubspot-tokens] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' conference:pre-meeting-reminder] in background 4.31ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' hubspot:journal-poll --start] in background 2.03ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:11:24 Running ['artisan' jiminny:transcription:retry-failed] No failed transcriptions found.
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:34 Running ['artisan' crm:reset-governor] [PASSWORD_DOTS] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:reset-governor > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:11:44 Running ['artisan' crm:bullhorn:ping --heartbeat] 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:12:08 Running ['artisan' meeting-bot:schedule-bot] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:15 Running ['artisan' dialers:monitor-activities] . 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:24 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:32 Running ['artisan' mailbox:skip-lists:refresh] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:39 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:45 Running ['artisan' conference:monitor:count] ... 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:12:52 Running ['artisan' mailbox:batch:create] ....... 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:13:02 Jiminny\Jobs\Mailbox\CreateBatches ....... 107.78ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:06 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:07 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:08 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:14:09 Running ['artisan' crm:sync-objects] Syncing objects for Salesforce Team (6473c918-d8db-4ded-a52b-4febfd7b7c02) since 2026-03-19 20:14:10 (delay: 0s)
docker_lamp_1 | Team Edge Communications (c3a725ef-fc5e-4c7b-9231-6379b2834101) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Burlington Textiles Corp of America (72c0ccae-28a5-44bd-a0b4-958e73135463) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Uber (1c523aed-80e3-4c44-b215-7f0b027a03a2) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Vonage (c6030540-121e-4d6b-9261-8d82105817bf) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nexmo (eaba09e1-4973-4077-b041-ad389248318c) is not yet assigned an owner. skipping...
docker_lamp_1 | Team SF (018e2d7c-ed01-4af2-be33-5c28f454a185) is not yet assigned an owner. skipping...
docker_lamp_1 | Team NewAccount (27325244-25d7-4431-aac4-9ddb2bde6b45) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Pipedrive, Inc. (51467630-d89d-480b-be20-933e64a042f7) since 2026-04-08 18:14:13 (delay: 2s)
docker_lamp_1 | Syncing objects for Copper (396ed57c-e3c4-49be-8290-37c32955f7c7) since 2026-04-21 16:44:16 (delay: 4s)
docker_lamp_1 | Syncing objects for Pipedrive External Test (fda3cbdf-1117-4ba5-86f8-775f548b3a28) since 2026-04-08 18:14:16 (delay: 6s)
docker_lamp_1 | Syncing objects for Close (3ff5a02a-86fb-4357-b1d6-a04e26c38602) since 2026-04-21 16:44:20 (delay: 8s)
docker_lamp_1 | Team DeewanyAccount (cfaf90cb-ecf0-432c-a655-a22d9985e4c8) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Bullhorn (1640a0ac-19da-4c3b-90f7-87525f07a6d2) since 2026-02-19 13:28:05 (delay: 10s)
docker_lamp_1 | Team Horen test (93d8f8f2-dd61-4137-97de-a02a9d3751bb) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Hamadi (191379e4-5e90-4419-8ffd-4804a5abb565) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed Testing (3b2e1fad-bc5f-4322-84d2-a7440f78c5d7) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Ahmed jiminny (1dbd47b8-bbf8-4bbb-8e28-67b9c91f566e) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Testers Inc (ec0767d5-1248-4447-b316-94dd9a30d52b) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Copper Team (817c8ce1-8e22-4ac8-8fca-8df1131963ab) is not yet assigned an owner. skipping...
docker_lamp_1 | Team TheBestPlace Ever (dbb998f9-70eb-4f11-a9f2-d9f6157f4035) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Horen's apartments (e10bb4ea-6c89-4fe3-be3b-0a278aa81180) is not yet assigned an owner. skipping...
docker_lamp_1 | Team New Org Test (2cb527b6-73a4-46be-b7b2-b0097b494cc5) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Pipedrive test org (18ea22be-6e0b-461c-a4db-536c022aac73) is not yet assigned an owner. skipping...
docker_lamp_1 | Team BigChairs Inc. (16dcfaf9-44b4-4cc2-9ead-f98dd0cad4dd) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for GL 500 (0c33bf2d-1c77-4200-8ed6-6147ad444c30) since 2026-02-19 13:26:04 (delay: 12s)
docker_lamp_1 | Team Loren X (243d7d4b-1849-46c2-9dfb-4462f52020ef) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel Company 2024 (e466d657-c26d-4281-9ed5-73890fe711f6) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Barbara Fuchs (bea0fcf3-f8f9-471d-92c4-d1b7d1a2e228) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Test salesforce auto sync (2c2e652e-1cbb-4620-852d-e73bef0ab4a9) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Bullhorn (83c14120-cdb1-42e9-b0ac-16ef11320a8f) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Globo Tech (fb8d5211-3c4d-4804-9223-b091670ffd79) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Laravel 11 Company 2024 (780c6836-764b-4e47-9a05-cfefbab6e590) is not yet assigned an owner. skipping...
docker_lamp_1 | Team Nikon7 (e9bff902-edc3-4b0b-89b1-2a9aa43d940a) is not yet assigned an owner. skipping...
docker_lamp_1 | Syncing objects for Dev Zoho CRM client (1ece66c8-feb1-4df1-b321-21607daf4623) since 2026-04-21 16:44:26 (delay: 14s)
docker_lamp_1 | [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:14:10 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 31.97ms DONE
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:11 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 674.13ms DONE
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:12 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 13.23ms DONE
docker_lamp_1 | 2026-04-21 17:14:14 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:16 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 466.00ms DONE
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 28.71ms DONE
docker_lamp_1 | 2026-04-21 17:14:18 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:19 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 56.51ms DONE
docker_lamp_1 | 2026-04-21 17:14:21 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 463.34ms DONE
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:22 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 23.02ms DONE
docker_lamp_1 | 2026-04-21 17:14:24 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 2s DONE
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:27 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 518.85ms DONE
docker_lamp_1 | 2026-04-21 17:14:31 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-21 17:14:32 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 515.39ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:15:03 Running ['artisan' meeting-bot:schedule-bot] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:04 Running ['artisan' dialers:monitor-activities] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:05 Running ['artisan' jiminny:monitor-social-accounts] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:07 Running ['artisan' mailbox:skip-lists:refresh] . 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:08 Running ['artisan' mailbox:batch:process --max-batches=15] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:09 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:11 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:12 Running ['artisan' conference:pre-meeting-notification] 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:13 Running ['artisan' conference:monitor:start] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:15 Running ['artisan' conference:monitor:end] ..... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:17 Running ['artisan' jiminny:fix-hubspot-tokens] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' conference:pre-meeting-reminder] in background 16.88ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' hubspot:journal-poll --start] in background 4.63ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:15:24 Running ['artisan' datadog:report:processing-sla-activities] 12s DONE
docker_lamp_1 | 🚀 Starting HubSpot journal polling service...
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' datadog:report:processing-sla-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:37 Running ['artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk'] 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:sync --from='2026-04-21 16:59:00' --to='2026-04-21 17:15:00' --skipProviders='ringcentral' --skipProviders='avaya' --skipProviders='telus' --skipProviders='talkdesk' > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:48 Running ['artisan' crm:bullhorn:ping --heartbeat] 2026-04-21 17:15:48 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity ....... 883.81ms DONE
docker_lamp_1 | 2026-04-21 17:15:49 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-21 17:15:50 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity ....... 769.00ms DONE
docker_lamp_1 | 2026-04-21 17:15:51 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 599.40ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity ....... 413.70ms DONE
docker_lamp_1 | 2026-04-21 17:15:52 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-21 17:15:53 Jiminny\Jobs\Activity\SyncActivity [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 0 social account(s) to be processed ...
docker_lamp_1 |
docker_lamp_1 | Done!
docker_lamp_1 | 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:15:57 Running ['artisan' nudges:send --silent] ....... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' nudges:send --silent > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:16:04 Running ['artisan' jiminny:playlists:normalize-sort] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:playlists:normalize-sort > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:17:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:15 Running ['artisan' dialers:monitor-activities] . 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:22 Running ['artisan' jiminny:monitor-social-accounts] 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:30 Running ['artisan' mailbox:skip-lists:refresh] . 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:35 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:17:41 Running ['artisan' mailbox:batch:create] 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches [PASSWORD_DOTS] RUNNING
docker_lamp_1 | ....... 7s DONE
docker_lamp_1 | 2026-04-21 17:17:49 Jiminny\Jobs\Mailbox\CreateBatches ....... 122.90ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:create > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:18:07 Running ['artisan' meeting-bot:schedule-bot] ... 9s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:17 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:23 Running ['artisan' jiminny:monitor-social-accounts] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:44 Running ['artisan' conference:monitor:count] ... 5s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' mailbox:batch:retry-failed --max-batches=15] in background 6.46ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' mailbox:batch:retry-failed --max-batches=15 > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-390defd641effba0f73a895e426ded4cf2ba7f11" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:18:49 Running ['artisan' crm:autolog-delayed] Dispatched autolog delayed jobs for all applicable teams:
docker_lamp_1 | [PASSWORD_DOTS] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:autolog-delayed > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:19:08 Running ['artisan' meeting-bot:schedule-bot] ... 7s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:16 Running ['artisan' dialers:monitor-activities] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:22 Running ['artisan' jiminny:monitor-social-accounts] 8s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:30 Running ['artisan' mailbox:skip-lists:refresh] . 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:19:37 Running ['artisan' mailbox:batch:process --max-batches=15] 6s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 |
docker_lamp_1 | run_artisan_schedule: Done waiting for schedule:run
docker_lamp_1 |
docker_lamp_1 | 2026-04-21 17:20:06 Running ['artisan' meeting-bot:schedule-bot] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' meeting-bot:schedule-bot > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:10 Running ['artisan' dialers:monitor-activities] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' dialers:monitor-activities > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:15 Running ['artisan' jiminny:monitor-social-accounts] 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:20 Running ['artisan' mailbox:skip-lists:refresh] . 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:24 Running ['artisan' mailbox:batch:process --max-batches=15] 3s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:batch:process --max-batches=15 > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:28 Running ['artisan' conference:monitor:count] ... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:count > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:30 Running ['artisan' activity:purge-stale] ....... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:31 Running ['artisan' mailbox:text-relay:sync] {
docker_lamp_1 | "error": "invalid_request",
docker_lamp_1 | "error_description": "Invalid impersonation \u0026quot;sub\u0026quot; field: @"
docker_lamp_1 | }
docker_lamp_1 | .... 1s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:32 Running ['artisan' conference:pre-meeting-notification] 959.54ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:33 Running ['artisan' conference:monitor:start] 986.03ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:34 Running ['artisan' conference:monitor:end] 944.33ms DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:end > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:35 Running ['artisan' jiminny:fix-hubspot-tokens] . 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' conference:pre-meeting-reminder] in background 0.92ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &
docker_lamp_1 | 2026-04-21 17:20:37 Running ['artisan' hubspot:journal-poll --start] in background 0.87ms DONE
docker_lamp_1 | ⇂ ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan' schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null' 2>&1 &
unexpected EOF
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ work
WARN[0000] /Users/lukas/jiminny/infrastructure/dev/docker/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
Attaching to blackfire-1, datadog-1, jiminny_ext-1, mariadb-1, docker_lamp_1, elasticsearch, kibana, ngrok, redis
mariadb-1 | 2026-04-22 06:37:16+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.
redis | 1:C 22 Apr 2026 06:37:16.275 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis | 1:C 22 Apr 2026 06:37:16.276 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started
redis | 1:C 22 Apr 2026 06:37:16.276 # Configuration loaded
redis | 1:M 22 Apr 2026 06:37:16.290 * Running mode=standalone, port=6379.
redis | 1:M 22 Apr 2026 06:37:16.290 # Server initialized
redis | 1:M 22 Apr 2026 06:37:16.290 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
redis | 1:M 22 Apr 2026 06:37:16.301 * Reading RDB preamble from AOF file...
redis | 1:M 22 Apr 2026 06:37:16.304 * Reading the remaining AOF tail...
blackfire-1 | [2026-04-22T06:37:16Z] ERROR: The server ID parameter is not set. Please run 'blackfire-agent -register' to configure it.
blackfire-1 | usage blackfire-agent [options]
blackfire-1 | --collector="https://blackfire.io": Sets the URL of Blackfire's data collector
blackfire-1 | --config="/etc/blackfire/agent": Sets the path to the configuration file
blackfire-1 | -d: Prints the current configuration
blackfire-1 | --http-proxy="": Sets the HTTP proxy to use
blackfire-1 | --https-proxy="": Sets the HTTPS proxy to use
blackfire-1 | --log-file="stderr": Sets the path of the log file. Use stderr to log to stderr
blackfire-1 | --log-level="1": log verbosity level (4: debug, 3: info, 2: warning, 1: error)
blackfire-1 | --register: Helps you with registering the agent
blackfire-1 | --server-id="": Sets the server id used to authenticate with Blackfire API
blackfire-1 | --server-token="": Sets the server token used to authenticate with Blackfire API. It is unsafe to set this from the command line
blackfire-1 | --socket="unix:///var/run/blackfire/agent.sock": Sets the socket the agent should read traces from. Possible value can be a unix socket or a TCP address. ie: unix:///var/run/blackfire/agent.sock or tcp://[IP_ADDRESS]:8307
blackfire-1 | --test: Tests the configuration
blackfire-1 | --timeout="15s": Sets the Blackfire connection timeout
blackfire-1 | -v: Prints the version number
ngrok | t=2026-04-22T06:37:16+0000 lvl=info msg="no configuration paths supplied"
ngrok | t=2026-04-22T06:37:16+0000 lvl=info msg="using configuration at default config path" path=/home/ngrok/.ngrok2/ngrok.yml
ngrok | t=2026-04-22T06:37:16+0000 lvl=info msg="open config file" path=/home/ngrok/.ngrok2/ngrok.yml err=nil
ngrok | t=2026-04-22T06:37:16+0000 lvl=info msg="starting web service" obj=web addr=[IP_ADDRESS]:4040
blackfire-1 exited with code 1
jiminny_ext-1 exited with code 0
docker_lamp_1 | + main
docker_lamp_1 | + declare START_DIR
docker_lamp_1 | +++ realpath /scripts/init-dev
docker_lamp_1 | ++ dirname /scripts/init-dev
docker_lamp_1 | + START_DIR=/scripts
docker_lamp_1 | + readonly START_DIR
docker_lamp_1 | + source /scripts/storage_init.sh
docker_lamp_1 | ++ set -o errexit
docker_lamp_1 | ++ set -o nounset
docker_lamp_1 | ++ set -o pipefail
docker_lamp_1 | + create_bind_mount
docker_lamp_1 | + [[ 0 == \1 ]]
docker_lamp_1 | + configure_xdebug
docker_lamp_1 | + j2 /root/.j2_templates/xdebug/xdebug.ini.j2
mariadb-1 | 2026-04-22 06:37:17+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB
mariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mariadb-1 | 2026-04-22 06:37:17+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.
ngrok | t=2026-04-22T06:37:17+0000 lvl=info msg="tunnel session started" obj=tunnels.session
ngrok | t=2026-04-22T06:37:17+0000 lvl=info msg="client session established" obj=csess id=634823eea3ad
datadog-1 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
ngrok | t=2026-04-22T06:37:17+0000 lvl=info msg="started tunnel" obj=tunnels name="command_line (http)" addr=http://lamp:3080 url=http://lukask.ngrok.io
ngrok | t=2026-04-22T06:37:17+0000 lvl=info msg="started tunnel" obj=tunnels name=command_line addr=http://lamp:3080 url=https://lukask.ngrok.io
mariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade information missing, assuming required
mariadb-1 | 2026-04-22 06:37:18+00:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade or creating healthcheck users) required, but skipped due to $MARIADB_AUTO_UPGRADE setting
mariadb-1 | 2026-04-22 6:37:18 0 [Note] Starting MariaDB 11.4.5-MariaDB-ubu2404 source revision 0771110266ff5c04216af4bf1243c65f8c67ccf4 server_uid CA2X+ff4t+no/8l8iJfdnqVJ+RA= as process 1
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Compressed tables use zlib 1.3
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Number of transaction pools: 1
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Using liburing
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Completed initialization of buffer pool
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: End of log at LSN=7617090664
docker_lamp_1 | + configure_blackfire
docker_lamp_1 | + j2 /root/.j2_templates/blackfire/extension.ini.j2
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Opened 3 undo tablespaces
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: log sequence number 7617090664; transaction id 11488208
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
mariadb-1 | 2026-04-22 6:37:18 0 [Note] Plugin 'FEEDBACK' is disabled.
mariadb-1 | 2026-04-22 6:37:18 0 [Note] Plugin 'wsrep-provider' is disabled.
ngrok | t=2026-04-22T06:37:18+0000 lvl=info msg="update available" obj=updater
docker_lamp_1 | + j2 /root/.j2_templates/blackfire/cli.ini.j2
mariadb-1 | 2026-04-22 6:37:18 0 [Note] InnoDB: Buffer pool(s) load completed at 260422 6:37:18
docker_lamp_1 | + declare EMPTY_DB
docker_lamp_1 | + db_is_empty
docker_lamp_1 | ++ find /var/lib/mysql/ -maxdepth 1
docker_lamp_1 | ++ wc -l
docker_lamp_1 | + [[ 11 -lt 5 ]]
docker_lamp_1 | + EMPTY_DB=0
docker_lamp_1 | + readonly EMPTY_DB
docker_lamp_1 | + [[ 0 -eq 1 ]]
docker_lamp_1 | + [[ local == \l\o\c\a\l ]]
docker_lamp_1 | + set_nginx_domain dev.jiminny.com
docker_lamp_1 | + declare -r DOMAIN_NAME=dev.jiminny.com
docker_lamp_1 | + cp -f /etc/nginx/nginx_template.conf /etc/nginx/nginx.conf
docker_lamp_1 | + sed -i -E s~_JIMINNY_DOMAIN~app.dev.jiminny.com~g /etc/nginx/nginx.conf
docker_lamp_1 | + sed -i -E s~_JIMINNY_EXT_DOMAIN~ext.dev.jiminny.com~g /etc/nginx/nginx.conf
docker_lamp_1 | + sed -i -E s~_JIMINNY_WEB_DOMAIN~www.dev.jiminny.com~g /etc/nginx/nginx.conf
docker_lamp_1 | + [[ -n 3399 ]]
docker_lamp_1 | + sed -i -E 's~http:\/\/jiminny_ext:8080~http://jiminny_ext:3399~g' /etc/nginx/nginx.conf
docker_lamp_1 | + [[ -n host.docker.internal ]]
docker_lamp_1 | + sed -i -E 's~http:\/\/jiminny_ext~http://host.docker.internal~g' /etc/nginx/nginx.conf
docker_lamp_1 | + build_dev
docker_lamp_1 | + cd /home/jiminny/
docker_lamp_1 | + create_dot_env_local_file
docker_lamp_1 | + cp -f /home/jiminny/.env.local /home/jiminny/.env.local.bak
docker_lamp_1 | + create_dot_env
docker_lamp_1 | + [[ -f /home/jiminny/.env ]]
docker_lamp_1 | + return
docker_lamp_1 | + declare DB_ADMIN_PASSWORD
docker_lamp_1 | + declare DB_ADMIN_USERNAME
docker_lamp_1 | + declare DB_DEV_PASSWORD
docker_lamp_1 | + declare DB_DEV_USERNAME
docker_lamp_1 | + declare DB_ROOT_PASSWORD
docker_lamp_1 | + declare DB_ROOT_USERNAME
docker_lamp_1 | + declare DB_WEB_PASSWORD
docker_lamp_1 | + declare DB_WEB_USERNAME
docker_lamp_1 | ++ jq -r .DB_ADMIN_PASSWORD /home/jiminny/dev.json
docker_lamp_1 | + [ENV_SECRET]
docker_lamp_1 | ++ jq -r .DB_ADMIN_USERNAME /home/jiminny/dev.json
docker_lamp_1 | + DB_ADMIN_USERNAME=jmnyadmin
docker_lamp_1 | ++ jq -r .DB_DEV_PASSWORD /home/jiminny/dev.json
datadog-1 | [s6-init] ensuring user provided files have correct perms...exited 0.
docker_lamp_1 | + [ENV_SECRET]
docker_lamp_1 | ++ jq -r .DB_DEV_USERNAME /home/jiminny/dev.json
docker_lamp_1 | + DB_DEV_USERNAME=jmnydev
docker_lamp_1 | ++ jq -r .DB_ROOT_PASSWORD /home/jiminny/dev.json
datadog-1 | [fix-attrs.d] applying ownership & permissions fixes...
datadog-1 | [fix-attrs.d] done.
docker_lamp_1 | + [ENV_SECRET]
docker_lamp_1 | ++ jq -r .DB_ROOT_USERNAME /home/jiminny/dev.json
datadog-1 | [cont-init.d] executing container initialization scripts...
docker_lamp_1 | + DB_ROOT_USERNAME=root
docker_lamp_1 | ++ jq -r .DB_WEB_PASSWORD /home/jiminny/dev.json
datadog-1 | [cont-init.d] 01-check-apikey.sh: executing...
docker_lamp_1 | + [ENV_SECRET]
docker_lamp_1 | ++ jq -r .DB_WEB_USERNAME /home/jiminny/dev.json
datadog-1 |
datadog-1 | ==================================================================================
datadog-1 | You must set an DD_API_KEY environment variable to run the Datadog Agent container
datadog-1 | ==================================================================================
datadog-1 |
docker_lamp_1 | + DB_WEB_USERNAME=jmnyweb
docker_lamp_1 | + readonly DB_ADMIN_PASSWORD
docker_lamp_1 | + readonly DB_ADMIN_USERNAME
docker_lamp_1 | + readonly DB_DEV_PASSWORD
docker_lamp_1 | + readonly DB_DEV_USERNAME
docker_lamp_1 | + readonly DB_ROOT_PASSWORD
docker_lamp_1 | + readonly DB_ROOT_USERNAME
docker_lamp_1 | + readonly DB_WEB_PASSWORD
docker_lamp_1 | + readonly DB_WEB_USERNAME
docker_lamp_1 | + sed -i -E 's~DB_USERNAME=.*$~DB_USERNAME=jmnyadmin~g' /home/jiminny/.env
datadog-1 | [cont-init.d] 01-check-apikey.sh: exited 1.
docker_lamp_1 | + sed -i -E 's~[ENV_SECRET] /home/jiminny/.env
docker_lamp_1 | + sed -i -E 's~DB...
|
NULL
|
|
68791
|
1562
|
9
|
2026-04-22T06:38:59.133492+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839939133_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nError response from daemon: container 007d5da3af661f566add66deeffa5ffbc910c614e5890d03cc715d7e5b9d2d78 is not running\nmake: *** [cs-fix] Error 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nError response from daemon: container 007d5da3af661f566add66deeffa5ffbc910c614e5890d03cc715d7e5b9d2d78 is not running\nmake: *** [cs-fix] Error 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
2175341358723845740
|
-1076392834421347362
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
68790
|
|
68792
|
1563
|
11
|
2026-04-22T06:38:59.647580+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839939647_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nError response from daemon: container 007d5da3af661f566add66deeffa5ffbc910c614e5890d03cc715d7e5b9d2d78 is not running\nmake: *** [cs-fix] Error 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nError response from daemon: container 007d5da3af661f566add66deeffa5ffbc910c614e5890d03cc715d7e5b9d2d78 is not running\nmake: *** [cs-fix] Error 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude)","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
2175341358723845740
|
-1076392834421347362
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
68787
|
|
68793
|
1563
|
12
|
2026-04-22T06:39:01.421884+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839941421_m2.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csrfi
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude-code")
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nError response from daemon: container 007d5da3af661f566add66deeffa5ffbc910c614e5890d03cc715d7e5b9d2d78 is not running\nmake: *** [cs-fix] Error 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csrfi","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nError response from daemon: container 007d5da3af661f566add66deeffa5ffbc910c614e5890d03cc715d7e5b9d2d78 is not running\nmake: *** [cs-fix] Error 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csrfi","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.32912233,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.33111703,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"✳ Build full day activity summary from Screenpipe (claude-code\")","depth":2,"bounds":{"left":0.44680852,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.4488032,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.56449467,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.56648934,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.62333775,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-159-186:~ (-zsh)","depth":2,"bounds":{"left":0.6821808,"top":1.0,"width":0.058843084,"height":-0.042298436},"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.68417555,"top":1.0,"width":0.005319149,"height":-0.04549086},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"-zsh","depth":1,"bounds":{"left":0.50398934,"top":1.0,"width":0.010970744,"height":-0.02394259},"role_description":"text"}]...
|
-8799606182585140870
|
-1076392834421347361
|
click
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csrfi
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude-code")
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|
|
68902
|
1568
|
6
|
2026-04-22T06:56:17.929089+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776840977929_m1.jpg...
|
iTerm2
|
-zsh
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5601/5601 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5601 files in 221.244 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at https://docs.docker.com/go/debug-cli/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nError response from daemon: container 007d5da3af661f566add66deeffa5ffbc910c614e5890d03cc715d7e5b9d2d78 is not running\nmake: *** [cs-fix] Error 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5601/5601 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5601 files in 221.244 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","depth":4,"value":"Last login: Mon Apr 20 19:49:44 on ttys010\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 356, done.\nremote: Counting objects: 100% (288/288), done.\nremote: Compressing objects: 100% (49/49), done.\nremote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)\nReceiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.\nResolving deltas: 100% (267/267), completed with 94 local objects.\nFrom github.com:jiminny/app\n 4eec6ce5d2..b37b0452a5 master -> origin/master\n 752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny\n cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n + f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)\n * [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue\n * [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities\n * [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old\n f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\nUpdating 4eec6ce5d2..b37b0452a5\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 6 files changed, 372 insertions(+), 4 deletions(-)\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status\nOn branch JY-18909-automated-reports-ask-jiminny\nYour branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Repositories/AutomatedReportsRepository.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Mail/Reports/ReportNotGenerated.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/emails/reports/report-not-generated.blade.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull\nremote: Enumerating objects: 527, done.\nremote: Counting objects: 100% (191/191), done.\nremote: Compressing objects: 100% (39/39), done.\nremote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)\nReceiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.\nResolving deltas: 100% (330/330), completed with 51 local objects.\nFrom github.com:jiminny/app\n * [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed\n e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\n 6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file\n b37b0452a5..a581c3fc69 master -> origin/master\n * [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard\nUpdating 96e71f9934..724fdb0917\nFast-forward\n app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++\n app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----\n app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-\n app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----\n app/Jobs/Crm/SyncObjects.php | 38 +++++++-----\n app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-\n app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-\n app/Services/Crm/BaseService.php | 53 ++++++++++++++---\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--\n composer.lock | 46 +++++++--------\n front-end/src/components/connect/connect.vue | 30 +++++-----\n front-end/src/components/onboard/Onboard.vue | 2 +-\n tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------\n tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----\n tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 23 files changed, 1319 insertions(+), 174 deletions(-)\n create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php\n create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php\n create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php\n create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 37.187 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-download:worker-download_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-calendar:worker-calendar_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-es-update:worker-es-update_00: stopped\nworker-conferences:worker-conferences_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5609 files in 54.393 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) routes/web.php (statement_indentation)\n ---------- begin diff ----------\n--- /home/jiminny/routes/web.php\n+++ /home/jiminny/routes/web.php\n@@ -148,57 +148,57 @@\n $router->get('/playback/{activity}', [PlaybackController::class, 'show'])\n ->name('activity.playback');\n \n- // AI Reports\n- $router->get('/ai-reports', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.show');\n+ // AI Reports\n+ $router->get('/ai-reports', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.show');\n \n- $router->get('/ai-reports/manage', [\n- FrontendController::class, 'render',\n- ])\n- ->middleware(['can:canAccessAiReports,' . User::class])\n- ->name('ai.reports.manage');\n+ $router->get('/ai-reports/manage', [\n+ FrontendController::class, 'render',\n+ ])\n+ ->middleware(['can:canAccessAiReports,' . User::class])\n+ ->name('ai.reports.manage');\n \n- $router->get('/ai-reports/pdf/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.pdf.view');\n+ $router->get('/ai-reports/pdf/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.pdf.view');\n \n- $router->get('/ai-reports/pdf/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.pdf.download');\n+ $router->get('/ai-reports/pdf/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.pdf.download');\n \n- $router->get('/ai-reports/audio/{uuid}', [\n- Controllers\\UserAutomatedReportsController::class, 'view',\n- ])->name('ai-reports.audio.view');\n+ $router->get('/ai-reports/audio/{uuid}', [\n+ Controllers\\UserAutomatedReportsController::class, 'view',\n+ ])->name('ai-reports.audio.view');\n \n- $router->get('/ai-reports/audio/{uuid}/download', [\n- Controllers\\UserAutomatedReportsController::class, 'download',\n- ])->name('ai-reports.audio.download');\n+ $router->get('/ai-reports/audio/{uuid}/download', [\n+ Controllers\\UserAutomatedReportsController::class, 'download',\n+ ])->name('ai-reports.audio.download');\n \n-// $router->group(\n-// ['middleware' => ['can:canAccessAiReports,' . User::class]],\n-// static function (Router $router): void {\n-// $router->get('/ai-reports', [FrontendController::class, 'render'])\n-// ->name('ai.reports.show');\n-//\n-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n-// ->name('ai.reports.manage');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.pdf.view');\n-//\n-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.pdf.download');\n-//\n-// $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n-// ->name('ai-reports.audio.view');\n-//\n-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n-// ->name('ai-reports.audio.download');\n-// }\n-// );\n+ // $router->group(\n+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],\n+ // static function (Router $router): void {\n+ // $router->get('/ai-reports', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.show');\n+ //\n+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])\n+ // ->name('ai.reports.manage');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.pdf.view');\n+ //\n+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.pdf.download');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\\UserAutomatedReportsController::class, 'view'])\n+ // ->name('ai-reports.audio.view');\n+ //\n+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\\UserAutomatedReportsController::class, 'download'])\n+ // ->name('ai-reports.audio.download');\n+ // }\n+ // );\n \n // Playback of audio streams.\n $router->get('/stream/{track}', [AudioController::class, 'streamTrack'])\n\n ----------- end diff -----------\n\n\nFixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 53 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Http/Controllers/API/ActivityController.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: routes/web.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 582, done.\nremote: Counting objects: 100% (506/506), done.\nremote: Compressing objects: 100% (80/80), done.\nremote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)\nReceiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.\nResolving deltas: 100% (458/458), completed with 97 local objects.\nFrom github.com:jiminny/app\n a581c3fc69..d207a770d8 master -> origin/master\n * [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command\n 2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages\n * [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2\n 166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\n 0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method\n 60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration\nUpdating b37b0452a5..d207a770d8\nFast-forward\n Makefile | 5 +\n app/Component/Activity/Services/UpdateActivityService.php | 5 +\n app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +\n app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-\n app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-\n app/Component/ElasticSearch/Model/Observer.php | 4 +-\n app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++\n app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------\n app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++\n app/Console/Kernel.php | 4 +\n app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-\n app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-\n app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++\n app/Jobs/Crm/SyncObjects.php | 24 ++--\n app/Models/Ai/AiScorecardRuleRun.php | 4 +-\n app/Models/Ai/AiScorecardRun.php | 4 +-\n app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------\n app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---\n front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +\n front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-\n tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++\n tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-\n tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++\n tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-\n tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-\n 31 files changed, 1272 insertions(+), 180 deletions(-)\n create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php\n create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php\n create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php\n create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php\n create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 5, done.\nremote: Counting objects: 100% (5/5), done.\nremote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)\nUnpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.\nFrom github.com:jiminny/app\n d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch\nremote: Enumerating objects: 20, done.\nremote: Counting objects: 100% (20/20), done.\nremote: Compressing objects: 100% (4/4), done.\nremote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)\nUnpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.\nFrom github.com:jiminny/app\n 36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a\ngit: 'branc' is not a git command. See 'git --help'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a\n 20118-hs-opportunity-make-webhook-strategy-default\n JMNY-4047-hubspot-v3-api-upgrade\n JY-10125-close-copper-setup-crm-command\n JY-10153-talkdesk-import-calls\n JY-10173-add-additional-logs\n JY-10173-add-logs-to-close-crm-log\n JY-10291-setup-twilio-video-command\n JY-10379-import-call-with-crm-data\n JY-10455-fix-sentry-error-on-no-task-matched\n JY-10514-fix-duplicated-prospect-participants\n JY-10698-add-performance-monitor-on-DI\n JY-10742-fix-office-recurring-events\n JY-10797-reorder-prospect-lookup\n JY-10804-social-account-token-sentry-issues\n JY-10877-add-additional-filter-twilio-video\n JY-10877-filter-out-open-rooms-twilio-video\n JY-10925-create-participants-before-processing\n JY-10930-pass-autolog-state-to-activity-data\n JY-10989-add-opportunity-support-on-twilio-video\n JY-11040\n JY-11060-replace-deprecated-methods\n JY-11102-change-retry-time-for-match-crm-data\n JY-11148-remove-rollback-from-change-type-migration\n JY-11148-sentry-quota-issue\n JY-11167-justcall-download-track\n JY-11170-emails-import\n JY-11171-enable-microsoft-dutch-transcription\n JY-11193-customer-api-get-activities-optimisations-poc\n JY-11203-fix-dialpad-issue\n JY-11204-twilio-flex-presales-calls\n JY-11265-clear-crm-data-when-prospect-removed\n JY-11266-remove-ms-id-passcode-workaround\n JY-11325-twilio-video-handle-unsupported-custom-objects\n JY-11340-twilio-flex-direct-integration\n JY-11456-change-hubspot-match-by-phone-number-search\n JY-11465-remove-team-crm-provider-unique-on-crm-object-tables\n JY-11503-aircall-tags-activity-type-mapping-crm\n JY-11594-crm-log-reminder-changes\n JY-11624-fix-postmark-sync\n JY-11669-twilio-video-activity-type\n JY-11720-hubspot-owner-api-change\n JY-11756-JY-12102-delete-past-calendar-events\n JY-11756-remove-activities-foreign-from-calendar-event\n JY-11757-fix-close-crm-find-query-logic\n JY-11787-add-logs-for-late-calendar-imports\n JY-11807-rework-HS-import-calls-search-method\n JY-11809-calendar-separate-logic\n JY-11890-add-crm-search-strategy\n JY-11927-change-five9-bucket-name\n JY-11927-five9-integration\n JY-11928-five9-setup\n JY-11989-remove-future-calendar-events\n JY-12028-drop-calendar-logs-table\n JY-12028-remove-calendar-logs\n JY-12155-invalid-domain-match\n JY-12155-match-data-in-crm-optimisations\n JY-12377-fix-bh-phone-matching\n JY-12446-add-logs-on-office-calendar-exception\n JY-12511-fix-hubspot-without-owner-profile\n JY-12511-implement-sync-opportunities-strategy\n JY-12511-opportunity-full-sync\n JY-12536-fix-missing-calendar-events\n JY-12775-fix-deprecated-hs-html-tag\n JY-12775-fix-hs-deprecated-html-tags\n JY-12878-fix-pipedrive-crm-stage-field-sync\n JY-12916-twilio-video-not-recorded-yet-filter\n JY-12968-apollo-dialer-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\troutes/web.php\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Http/Controllers/API/ActivityController.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Services/PlaybackService.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nbranch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.\nSwitched to a new branch 'JY-20372-ai-reports-promotion-pages'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nError response from daemon: container 007d5da3af661f566add66deeffa5ffbc910c614e5890d03cc715d7e5b9d2d78 is not running\nmake: *** [cs-fix] Error 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5601/5601 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5601 files in 221.244 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $","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":"-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":"-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":"✳ Build full day activity summary from Screenpipe (claude)","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":"screenpipe\"","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":"APP (-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":"ec2-user@ip-10-30-159-186:~ (-zsh)","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"}]...
|
-1019821807711118038
|
-1076392834421347617
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon Apr 20 19:49:44 on ttys010
Poetry Last login: Mon Apr 20 19:49:44 on ttys010
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
Poetry could not find a pyproject.toml file in /Users/lukas or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lock
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (288/288), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 356 (delta 247), reused 271 (delta 239), pack-reused 68 (from 1)
Receiving objects: 100% (356/356), 85.58 KiB | 973.00 KiB/s, done.
Resolving deltas: 100% (267/267), completed with 94 local objects.
From github.com:jiminny/app
4eec6ce5d2..b37b0452a5 master -> origin/master
752fb7ac1d..724fdb0917 JY-18909-automated-reports-ask-jiminny -> origin/JY-18909-automated-reports-ask-jiminny
cf378aa07b..a21d53727d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
+ f0119c9d87...b0e5590d49 JY-20701-reschedule-HubSpot-processing -> origin/JY-20701-reschedule-HubSpot-processing (forced update)
* [new branch] JY-20705-fix-ai-call-scoring-issue -> origin/JY-20705-fix-ai-call-scoring-issue
* [new branch] JY-20708-elasticsearch-new-activities -> origin/JY-20708-elasticsearch-new-activities
* [new branch] JY-20709-call-scoring-delete-old -> origin/JY-20709-call-scoring-delete-old
f4d9b3911b..e6daaf72c3 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
3872fca88d..6352d781ad feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
Updating 4eec6ce5d2..b37b0452a5
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 +++++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++++
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++++++++++++++++++++++---
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 ++++++++++++++++++++++++++++++++++
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 372 insertions(+), 4 deletions(-)
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git status
On branch JY-18909-automated-reports-ask-jiminny
Your branch is behind 'origin/JY-18909-automated-reports-ask-jiminny' by 38 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Http/Controllers/API/ActivityController.php
modified: app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php
modified: app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Repositories/AutomatedReportsRepository.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: routes/web.php
modified: tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php
modified: tests/Unit/Repositories/AutomatedReportsRepositoryTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
app/Mail/Reports/ReportNotGenerated.php
ids.txt
raw_sql_query.sql
resources/views/emails/reports/report-not-generated.blade.php
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ git pull
remote: Enumerating objects: 527, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 527 (delta 155), reused 152 (delta 152), pack-reused 336 (from 2)
Receiving objects: 100% (527/527), 178.12 KiB | 996.00 KiB/s, done.
Resolving deltas: 100% (330/330), completed with 51 local objects.
From github.com:jiminny/app
* [new branch] JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
a21d53727d..166c403a12 JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
f301b758d4..10d290c778 JY-20663-partner-rockeed -> origin/JY-20663-partner-rockeed
e6daaf72c3..60141f6907 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
6352d781ad..e2859d4d0e feature/add-planet-start-stop-to-make-file -> origin/feature/add-planet-start-stop-to-make-file
b37b0452a5..a581c3fc69 master -> origin/master
* [new branch] transcription-es-update-guard -> origin/transcription-es-update-guard
Updating 96e71f9934..724fdb0917
Fast-forward
app/Component/ActivityAnalytics/Service/ActivityStatsBuilder.php | 5 ++
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 ++
app/Console/Commands/Crm/SyncObjects.php | 34 +++++++----
app/Http/Controllers/Internal/WebhookReceiver/HubspotController.php | 5 +-
app/Http/Controllers/Webhook/Hubspot/EventsController.php | 6 +-
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 75 ++++++++++++++++++++----
app/Jobs/Crm/SyncObjects.php | 38 +++++++-----
app/Jobs/Crm/SyncOpportunitiesJob.php | 12 +++-
app/Listeners/Crm/ImportActivityTypes.php | 33 ++++++++++-
app/Services/Crm/BaseService.php | 53 ++++++++++++++---
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 17 ++++--
composer.lock | 46 +++++++--------
front-end/src/components/connect/connect.vue | 30 +++++-----
front-end/src/components/onboard/Onboard.vue | 2 +-
tests/Feature/Services/Crm/BaseServiceTest.php | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php | 129 ++++++++++++++++++++++++++++++++++++++++
tests/Unit/Component/ParagraphBreaker/Services/TranscriptionParagraphServiceTest.php | 34 +++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Jobs/Crm/SyncObjectsTest.php | 113 ++++++++++++++++++-----------------
tests/Unit/Jobs/Crm/SyncOpportunitiesJobTest.php | 30 +++++-----
tests/Unit/Listeners/Crm/ImportActivityTypesTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 2 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23 files changed, 1319 insertions(+), 174 deletions(-)
create mode 100644 tests/Feature/Services/Crm/BaseServiceTest.php
create mode 100644 tests/Unit/Component/ActivityAnalytics/Service/ActivityStatsBuilderTest.php
create mode 100644 tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php
create mode 100644 tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitSyncOpportunitiesTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 32.620 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5609 files in 36.627 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-18909-automated-reports-ask-jiminny) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5609/5609 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) routes/web.php (statement_indentation)
---------- begin diff ----------
--- /home/jiminny/routes/web.php
+++ /home/jiminny/routes/web.php
@@ -148,57 +148,57 @@
$router->get('/playback/{activity}', [PlaybackController::class, 'show'])
->name('activity.playback');
- // AI Reports
- $router->get('/ai-reports', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.show');
+ // AI Reports
+ $router->get('/ai-reports', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.show');
- $router->get('/ai-reports/manage', [
- FrontendController::class, 'render',
- ])
- ->middleware(['can:canAccessAiReports,' . User::class])
- ->name('ai.reports.manage');
+ $router->get('/ai-reports/manage', [
+ FrontendController::class, 'render',
+ ])
+ ->middleware(['can:canAccessAiReports,' . User::class])
+ ->name('ai.reports.manage');
- $router->get('/ai-reports/pdf/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.pdf.view');
+ $router->get('/ai-reports/pdf/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.pdf.view');
- $router->get('/ai-reports/pdf/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.pdf.download');
+ $router->get('/ai-reports/pdf/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.pdf.download');
- $router->get('/ai-reports/audio/{uuid}', [
- Controllers\UserAutomatedReportsController::class, 'view',
- ])->name('ai-reports.audio.view');
+ $router->get('/ai-reports/audio/{uuid}', [
+ Controllers\UserAutomatedReportsController::class, 'view',
+ ])->name('ai-reports.audio.view');
- $router->get('/ai-reports/audio/{uuid}/download', [
- Controllers\UserAutomatedReportsController::class, 'download',
- ])->name('ai-reports.audio.download');
+ $router->get('/ai-reports/audio/{uuid}/download', [
+ Controllers\UserAutomatedReportsController::class, 'download',
+ ])->name('ai-reports.audio.download');
-// $router->group(
-// ['middleware' => ['can:canAccessAiReports,' . User::class]],
-// static function (Router $router): void {
-// $router->get('/ai-reports', [FrontendController::class, 'render'])
-// ->name('ai.reports.show');
-//
-// $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
-// ->name('ai.reports.manage');
-//
-// $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.pdf.view');
-//
-// $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.pdf.download');
-//
-// $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
-// ->name('ai-reports.audio.view');
-//
-// $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
-// ->name('ai-reports.audio.download');
-// }
-// );
+ // $router->group(
+ // ['middleware' => ['can:canAccessAiReports,' . User::class]],
+ // static function (Router $router): void {
+ // $router->get('/ai-reports', [FrontendController::class, 'render'])
+ // ->name('ai.reports.show');
+ //
+ // $router->get('/ai-reports/manage', [FrontendController::class, 'render'])
+ // ->name('ai.reports.manage');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.pdf.view');
+ //
+ // $router->get('/ai-reports/pdf/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.pdf.download');
+ //
+ // $router->get('/ai-reports/audio/{uuid}', [Controllers\UserAutomatedReportsController::class, 'view'])
+ // ->name('ai-reports.audio.view');
+ //
+ // $router->get('/ai-reports/audio/{uuid}/download', [Controllers\UserAutomatedReportsController::class, 'download'])
+ // ->name('ai-reports.audio.download');
+ // }
+ // );
// Playback of audio streams.
$router->get('/stream/{track}', [AudioController::class, 'streamTrack'])
----------- end diff -----------
Fixed 1 of 5609 files in 38.740 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 582, done.
remote: Counting objects: 100% (506/506), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 582 (delta 436), reused 474 (delta 422), pack-reused 76 (from 2)
Receiving objects: 100% (582/582), 185.10 KiB | 1.13 MiB/s, done.
Resolving deltas: 100% (458/458), completed with 97 local objects.
From github.com:jiminny/app
a581c3fc69..d207a770d8 master -> origin/master
* [new branch] JY-19995-delete-leftover-tracks-command -> origin/JY-19995-delete-leftover-tracks-command
2ffa898e3a..27d4be4a6d JY-20372-ai-reports-promotion-pages -> origin/JY-20372-ai-reports-promotion-pages
* [new branch] JY-20489-hudges-phase2 -> origin/JY-20489-hudges-phase2
166c403a12..36292c160d JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
0ea8d92cd8..b9b830afd5 JY-20541-remove-crm-contract-method -> origin/JY-20541-remove-crm-contract-method
60141f6907..242cf1b554 JY-9712-change-forever-nudges-to-1-year-expiration -> origin/JY-9712-change-forever-nudges-to-1-year-expiration
Updating b37b0452a5..d207a770d8
Fast-forward
Makefile | 5 +
app/Component/Activity/Services/UpdateActivityService.php | 5 +
app/Component/AiCallScoring/Services/GenerateAiCallScoringService.php | 6 +
app/Component/AiCallScoring/Services/GetAiCallScoringService.php | 5 +-
app/Component/AiCallScoring/Transformers/AiCallScoringTransformer.php | 2 +-
app/Component/ElasticSearch/Model/Observer.php | 4 +-
app/Console/Commands/Crm/SyncHubspotObjects.php | 84 ++++++++++++++
app/Console/Commands/Crm/SyncObjects.php | 82 ++++++++------
app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php | 81 +++++++++++++
app/Console/Kernel.php | 4 +
app/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTrait.php | 37 +++---
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/CreateOrUpdateAiScorecardRuleRequest.php | 2 +-
app/Http/Requests/Settings/AiCallScoring/TestAiCallScoringPromptRequest.php | 2 +-
app/Jobs/Crm/SyncHubspotObjects.php | 122 ++++++++++++++++++++
app/Jobs/Crm/SyncObjects.php | 24 ++--
app/Models/Ai/AiScorecardRuleRun.php | 4 +-
app/Models/Ai/AiScorecardRun.php | 4 +-
app/Repositories/Crm/CrmEntityRepository.php | 40 +++++++
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 174 +++++++++++++++++++++-------
app/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTrait.php | 27 ++---
front-end/src/__mocks__/kit/endpoints/team-insights.js | 1 +
front-end/src/components/Settings/OrgSettings/AiAutomation/CallScoring/ScorecardRuleForm.vue | 2 +-
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 18 ++-
tests/Unit/Component/Activity/Services/UpdateActivityServiceTest.php | 62 ++++++++++
tests/Unit/Component/AiCallScoring/Services/GenerateAiCallScoringServiceTest.php | 13 ++-
tests/Unit/Component/ElasticSearch/Model/ObserverTest.php | 98 ++++++++++++++++
tests/Unit/Http/Controllers/Webhook/Hubspot/ProcessesWebhooksTraitTest.php | 5 +-
tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php | 455 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 74 +++++++-----
tests/Unit/Services/Crm/Hubspot/ServiceTraits/SyncCrmEntitiesTraitTest.php | 8 +-
31 files changed, 1272 insertions(+), 180 deletions(-)
create mode 100644 app/Console/Commands/Crm/SyncHubspotObjects.php
create mode 100644 app/Console/Commands/Crm/Traits/SyncObjectsCommandTrait.php
create mode 100644 app/Jobs/Crm/SyncHubspotObjects.php
create mode 100644 tests/Unit/Component/ElasticSearch/Model/ObserverTest.php
create mode 100644 tests/Unit/Jobs/Crm/SyncHubspotObjectsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 488 bytes | 32.00 KiB/s, done.
From github.com:jiminny/app
d439494641..f044edca5b secfix/npm-20260416 -> origin/secfix/npm-20260416
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git fetch
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 14 (delta 10), reused 14 (delta 10), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 1.16 KiB | 84.00 KiB/s, done.
From github.com:jiminny/app
36292c160d..46202df90a JY-20541-cleanup-stale-tasks-and-events -> origin/JY-20541-cleanup-stale-tasks-and-events
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branc -a
git: 'branc' is not a git command. See 'git --help'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git branch -a
20118-hs-opportunity-make-webhook-strategy-default
JMNY-4047-hubspot-v3-api-upgrade
JY-10125-close-copper-setup-crm-command
JY-10153-talkdesk-import-calls
JY-10173-add-additional-logs
JY-10173-add-logs-to-close-crm-log
JY-10291-setup-twilio-video-command
JY-10379-import-call-with-crm-data
JY-10455-fix-sentry-error-on-no-task-matched
JY-10514-fix-duplicated-prospect-participants
JY-10698-add-performance-monitor-on-DI
JY-10742-fix-office-recurring-events
JY-10797-reorder-prospect-lookup
JY-10804-social-account-token-sentry-issues
JY-10877-add-additional-filter-twilio-video
JY-10877-filter-out-open-rooms-twilio-video
JY-10925-create-participants-before-processing
JY-10930-pass-autolog-state-to-activity-data
JY-10989-add-opportunity-support-on-twilio-video
JY-11040
JY-11060-replace-deprecated-methods
JY-11102-change-retry-time-for-match-crm-data
JY-11148-remove-rollback-from-change-type-migration
JY-11148-sentry-quota-issue
JY-11167-justcall-download-track
JY-11170-emails-import
JY-11171-enable-microsoft-dutch-transcription
JY-11193-customer-[API_KEY]
JY-11203-fix-dialpad-issue
JY-11204-twilio-flex-presales-calls
JY-11265-clear-crm-data-when-prospect-removed
JY-11266-remove-ms-id-passcode-workaround
JY-11325-twilio-video-handle-unsupported-custom-objects
JY-11340-twilio-flex-direct-integration
JY-11456-change-hubspot-match-by-phone-number-search
JY-11465-remove-team-crm-provider-unique-on-crm-object-tables
JY-11503-aircall-tags-activity-type-mapping-crm
JY-11594-crm-log-reminder-changes
JY-11624-fix-postmark-sync
JY-11669-twilio-video-activity-type
JY-11720-hubspot-owner-api-change
JY-11756-JY-12102-delete-past-calendar-events
JY-11756-remove-activities-foreign-from-calendar-event
JY-11757-fix-close-crm-find-query-logic
JY-11787-add-logs-for-late-calendar-imports
JY-11807-rework-HS-import-calls-search-method
JY-11809-calendar-separate-logic
JY-11890-add-crm-search-strategy
JY-11927-change-five9-bucket-name
JY-11927-five9-integration
JY-11928-five9-setup
JY-11989-remove-future-calendar-events
JY-12028-drop-calendar-logs-table
JY-12028-remove-calendar-logs
JY-12155-invalid-domain-match
JY-12155-match-data-in-crm-optimisations
JY-12377-fix-bh-phone-matching
JY-12446-add-logs-on-office-calendar-exception
JY-12511-fix-hubspot-without-owner-profile
JY-12511-implement-sync-opportunities-strategy
JY-12511-opportunity-full-sync
JY-12536-fix-missing-calendar-events
JY-12775-fix-deprecated-hs-html-tag
JY-12775-fix-hs-deprecated-html-tags
JY-12878-fix-pipedrive-crm-stage-field-sync
JY-12916-twilio-video-not-recorded-yet-filter
JY-12968-apollo-dialer-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
error: Your local changes to the following files would be overwritten by checkout:
routes/web.php
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages
M .env.local
M app/Console/Commands/JiminnyDebugCommand.php
M app/Http/Controllers/API/ActivityController.php
M app/Jobs/Team/SyncToIntercom.php
M app/Services/PlaybackService.php
M config/logging.php
branch 'JY-20372-ai-reports-promotion-pages' set up to track 'origin/JY-20372-ai-reports-promotion-pages'.
Switched to a new branch 'JY-20372-ai-reports-promotion-pages'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5601/5601 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5601 files in 221.244 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at https://docs.docker.com/go/debug-cli/
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20372-ai-reports-promotion-pages) $
DOCKER
Close Tab
-zsh
Close Tab
-zsh
Close Tab
✳ Build full day activity summary from Screenpipe (claude)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
APP (-zsh)
Close Tab
ec2-user@ip-10-30-159-186:~ (-zsh)
Close Tab
⌥⌘1
-zsh...
|
NULL
|