|
44091
|
933
|
48
|
2026-04-17T08:32:42.171319+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776414762171_m1.jpg...
|
Firefox
|
CloudWatch | us-east-2 — Work
|
1
|
us-east-2.console.aws.amazon.com/cloudwatch/home?r us-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#logsV2:logs-insights$3FqueryDetail$3D~(end~0~start~-3600~timeType~'RELATIVE~tz~'UTC~unit~'seconds~editorString~'fields*20*40timestamp*2c*20*40message*2c*20*40logStream*2c*20*40log*0a*7c*20filter*20*40message*20like*20*2fXXXXX*2f*20*0a*7c*20filter*20*40message*20not*20like*20*2fAnalytic*2f*20*7c*20filter*20*40message*20not*20like*20*2fTranscript*2f*0a*7c*20filter*20*40message*20not*20like*20*2fWebhook*2f*20*7c*20filter*20*40message*20not*20like*20*2fMeetingBot*2f*20*0a*7c*20limit*2010000~queryId~'0551e814-f51a-4339-8372-80d7ba4cef27~source~(~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-analytics~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-app~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-audio~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-calendar~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-conferences~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-crm-sync~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-default~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-delayed~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-dialers~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-dialers-fifo~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-download~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-emails~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-meeting-bot~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-nudges~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-1~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-2~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-3~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-4~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-5~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-processing-delayed~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-softphone~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-video~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aworker-video-app~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aphp~'arn*3aaws*3alogs*3aus-east-2*3a410346195943*3alog-group*3aphp-app)~lang~'CWLI~logClass~'STANDARD~queryBy~'logGroupName)...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Workers | Datadog
Developers | HubSpot
Developers Workers | Datadog
Developers | HubSpot
Developers | HubSpot
Inbox (1,574) - [EMAIL] - Jiminny Mail
Inbox (1,574) - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
CloudWatch | us-east-2
CloudWatch | us-east-2
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Rate your experience with this CloudWatch console.
1 star
1 star
2 star
2 star
3 star
3 star
4 star
4 star
5 star
5 star
close customer satisfaction survey
AWS Console Home
Skip to Main Content
Skip to Main Content
Amazon Q
Services
Search
Ask Amazon Q
[Option+S]
CloudShell
Notifications (none available)
Help & support
Settings
United States (Ohio)
United States (Ohio)
PROD
Account ID: 4103-4619-5943
PROD
EC2 EC2
EC2
Elastic Container Service Elastic Container Service
Elastic Container Service
S3 S3
S3
CodeDeploy CodeDeploy
CodeDeploy
CloudWatch CloudWatch
CloudWatch
ElastiCache ElastiCache
ElastiCache
Aurora and RDS Aurora and RDS
Aurora and RDS
Amazon OpenSearch Service Amazon OpenSearch Service
Amazon OpenSearch Service
CloudFront CloudFront
CloudFront
MediaLive MediaLive...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Workers | Datadog","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Developers | HubSpot","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Developers | HubSpot","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Inbox (1,574) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Inbox (1,574) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"120216 is your HubSpot Log In Code - integration-account@jiminny.com - Jiminny Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"120216 is your HubSpot Log In Code - integration-account@jiminny.com - Jiminny Mail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"CloudWatch | us-east-2","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"CloudWatch | us-east-2","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Rate your experience with this CloudWatch console.","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"1 star","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"1 star","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"2 star","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"2 star","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"3 star","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"3 star","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"4 star","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"4 star","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"5 star","depth":15,"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"5 star","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"close customer satisfaction survey","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"AWS Console Home","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to Main Content","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to Main Content","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Amazon Q","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Services","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"Search","depth":16,"role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ask Amazon Q","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[Option+S]","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CloudShell","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Notifications (none available)","depth":15,"help_text":"Notifications","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Help & support","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Settings","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXComboBox","text":"United States (Ohio)","depth":15,"value":"United States (Ohio)","help_text":"United States (Ohio)","role_description":"combo box","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"United States (Ohio)","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"PROD","depth":15,"help_text":"Production_View_Only @ jiminny","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Account ID: 4103-4619-5943","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PROD","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"EC2 EC2","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"EC2","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Elastic Container Service Elastic Container Service","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Elastic Container Service","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"S3 S3","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"S3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CodeDeploy CodeDeploy","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CodeDeploy","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CloudWatch CloudWatch","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CloudWatch","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"ElastiCache ElastiCache","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ElastiCache","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Aurora and RDS Aurora and RDS","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Aurora and RDS","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Amazon OpenSearch Service Amazon OpenSearch Service","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Amazon OpenSearch Service","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"CloudFront CloudFront","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CloudFront","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"MediaLive MediaLive","depth":16,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
9097209026122095738
|
-532043231179121721
|
click
|
accessibility
|
NULL
|
Workers | Datadog
Developers | HubSpot
Developers Workers | Datadog
Developers | HubSpot
Developers | HubSpot
Inbox (1,574) - [EMAIL] - Jiminny Mail
Inbox (1,574) - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
CloudWatch | us-east-2
CloudWatch | us-east-2
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Rate your experience with this CloudWatch console.
1 star
1 star
2 star
2 star
3 star
3 star
4 star
4 star
5 star
5 star
close customer satisfaction survey
AWS Console Home
Skip to Main Content
Skip to Main Content
Amazon Q
Services
Search
Ask Amazon Q
[Option+S]
CloudShell
Notifications (none available)
Help & support
Settings
United States (Ohio)
United States (Ohio)
PROD
Account ID: 4103-4619-5943
PROD
EC2 EC2
EC2
Elastic Container Service Elastic Container Service
Elastic Container Service
S3 S3
S3
CodeDeploy CodeDeploy
CodeDeploy
CloudWatch CloudWatch
CloudWatch
ElastiCache ElastiCache
ElastiCache
Aurora and RDS Aurora and RDS
Aurora and RDS
Amazon OpenSearch Service Amazon OpenSearch Service
Amazon OpenSearch Service
CloudFront CloudFront
CloudFront
MediaLive MediaLive...
|
NULL
|
|
46223
|
976
|
79
|
2026-04-17T10:25:47.851212+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776421547851_m2.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEoitViewHistoryBookmarksProtilesToolsWi FirefoxFileEoitViewHistoryBookmarksProtilesToolsWindow Help= app.dev.jiminny.com/onboardDevelopers | HubSpotM'inbox (1,575) - lukas.kovalike@fimin/M 120216 is your HubSpot Log In CodCa CloudWatch | eu-west-1New TabZ Configure SSH access to multiple. fix-cache-for-business-processes4 [JY-20692] Issue with reconnectir8 Jiminny+ New TabJIMINNYUpdate your informationGENERALTIMEZONEEurope/Sofia (UTC +03:00)LANGUAGES SPOKEN DURING CALLSDEFAULT SPOKEN LANGUAGEEnglish (United Kingdom)If the language isn't detected we'll default to this one© Add languageCONNECT/SYNC SETTINGSConnect Zoho CRMImport Calendar Meetings*:can ConnectedG Sign in with GoogleLet's Get Started! →Support Daily - in 1h 35 mA100% CS•Fri 17 Apr 13:25:47Q Inspector• ConsoleD DebuggerNL Network() Style EditorP Filter Output( PerformanceErrors Warnings Info Logs Debug022 0CSsA Content-Security-Policy warningsD CGORt-ErE UE ACEO3:/ /40n, 8TetiC. On/S /0O /N-/SU0 APMUTRN SAUT-ON-XQT AV, Noti Because it viotatesthe tosro) ing htrest//[URL_WITH_CREDENTIALS] e04 bloLdTox 02 и506 сктА20к12 40 tae con htepsaeavs becay ceit oste hh forondh dorectives "Font-sre "seLf" nttpa:/icontent-securlty-rol1following directive: "font-src "self https:app.dev.jiminny.com https://app.dev.jiminny.com/ https:/Lis.intercomcdn.com*app.dev.jiminny.com https://app.dev.jliminny.com/ https://is.intercomcdn.com"content-securlty-rollcy(Report-Only policy) Thethe loading of afollowing directive: "font-src 'self' https:/Lapp.dev.jiminny.com https://app.dev.jiminny.com/ https:/Lis.intercomcdn.com*@ Content-Security-Policy: (Report-Only policy) The page's settings would block the loading of a resourceapo.cev.aminny.com nutos.apo.dev.aminny.com nitos:S.1nterconcan.com© Content-Security-Policy:(Report-Only policy)the loading of aLYLUAMOXC89YmC2D:Rone ikeyngecom Attecab2avV1 becauxecai/ aolatez the noloind directive:'self' https://aponboatefollowing directive:"font-src "self' https://app.dev.jiminny.com https://app.dev.jiminny.com/https:/Lis.in® Referrerpolicy "no-referrer-when-downgrade" for thecross-site request: https://cdn.logr-in.com/loqger-1.min.isLogget-tlciotoenv. Luokuekcl 1b nas a Talsy value = surina semocy strna>plugin-vue export-helper-DD3s5456.is:123:3974© [env] SENTRY_DSN has a falsy value = string <empty string›plugin-vue export-helper-DD3s5456.is:123:3974" Reterrer Pollov: lonorind the less restrlcted referrer poucy "no-reterrer-when-downarade" for the cross.Sate request.ntcos.wiacec.1ntercom.1o/wlocet naoxn/4r...
|
NULL
|
9097118896085378458
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEoitViewHistoryBookmarksProtilesToolsWi FirefoxFileEoitViewHistoryBookmarksProtilesToolsWindow Help= app.dev.jiminny.com/onboardDevelopers | HubSpotM'inbox (1,575) - lukas.kovalike@fimin/M 120216 is your HubSpot Log In CodCa CloudWatch | eu-west-1New TabZ Configure SSH access to multiple. fix-cache-for-business-processes4 [JY-20692] Issue with reconnectir8 Jiminny+ New TabJIMINNYUpdate your informationGENERALTIMEZONEEurope/Sofia (UTC +03:00)LANGUAGES SPOKEN DURING CALLSDEFAULT SPOKEN LANGUAGEEnglish (United Kingdom)If the language isn't detected we'll default to this one© Add languageCONNECT/SYNC SETTINGSConnect Zoho CRMImport Calendar Meetings*:can ConnectedG Sign in with GoogleLet's Get Started! →Support Daily - in 1h 35 mA100% CS•Fri 17 Apr 13:25:47Q Inspector• ConsoleD DebuggerNL Network() Style EditorP Filter Output( PerformanceErrors Warnings Info Logs Debug022 0CSsA Content-Security-Policy warningsD CGORt-ErE UE ACEO3:/ /40n, 8TetiC. On/S /0O /N-/SU0 APMUTRN SAUT-ON-XQT AV, Noti Because it viotatesthe tosro) ing htrest//[URL_WITH_CREDENTIALS] e04 bloLdTox 02 и506 сктА20к12 40 tae con htepsaeavs becay ceit oste hh forondh dorectives "Font-sre "seLf" nttpa:/icontent-securlty-rol1following directive: "font-src "self https:app.dev.jiminny.com https://app.dev.jiminny.com/ https:/Lis.intercomcdn.com*app.dev.jiminny.com https://app.dev.jliminny.com/ https://is.intercomcdn.com"content-securlty-rollcy(Report-Only policy) Thethe loading of afollowing directive: "font-src 'self' https:/Lapp.dev.jiminny.com https://app.dev.jiminny.com/ https:/Lis.intercomcdn.com*@ Content-Security-Policy: (Report-Only policy) The page's settings would block the loading of a resourceapo.cev.aminny.com nutos.apo.dev.aminny.com nitos:S.1nterconcan.com© Content-Security-Policy:(Report-Only policy)the loading of aLYLUAMOXC89YmC2D:Rone ikeyngecom Attecab2avV1 becauxecai/ aolatez the noloind directive:'self' https://aponboatefollowing directive:"font-src "self' https://app.dev.jiminny.com https://app.dev.jiminny.com/https:/Lis.in® Referrerpolicy "no-referrer-when-downgrade" for thecross-site request: https://cdn.logr-in.com/loqger-1.min.isLogget-tlciotoenv. Luokuekcl 1b nas a Talsy value = surina semocy strna>plugin-vue export-helper-DD3s5456.is:123:3974© [env] SENTRY_DSN has a falsy value = string <empty string›plugin-vue export-helper-DD3s5456.is:123:3974" Reterrer Pollov: lonorind the less restrlcted referrer poucy "no-reterrer-when-downarade" for the cross.Sate request.ntcos.wiacec.1ntercom.1o/wlocet naoxn/4r...
|
NULL
|
|
39229
|
NULL
|
0
|
2026-04-16T13:33:54.555320+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-16/1776 /Users/lukas/.screenpipe/data/data/2026-04-16/1776346434555_m1.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <478Thu 16 Apr 16:33:54-zshDOCKER881Last login: Thu Apr 16 15:48:11 on ttys009DEV (-zsh)882APP (-zsh)*3-zsh• *4-zsh85Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~S sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%" OR window_name LIKE "%Boostroid%"ORDER BY created_at DESC LIMIT 20;"Error: in prepare, no such column:created_atari%' OR window_name LIKE "%Boosteroid%'ORDER BY created_at DESC LIMIT 20;error here---^lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnyroid%'~§ sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE "%BoostORDER BYcreated_at DESC LIMIT 20;"Error: in prepare,no suchcolumn:created_atari%'OR window_name LIKE"%Boosteroid%'ORDER BY created_at DESC LIMIT 20;error herelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~S salite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE '%Boostroid%'ORDER BYcreated_at DESC LIMIT 20;"Error: in prepare,nosuch column:created_atari%'OR window_name LIKE "%Boosteroid%'ORDER BY created_at DESC LIMIT 20;error here---Alukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE '%Boostroid%'ORDER BY timestamp DESC LIMIT 20;"Error: in prepare, no such column: timestampari%' OR window_name LIKE "XBoosteroid%' ORDER BY timestamp DESC LIMIT 20;error here__-лlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite ".schema ocr_text"CREATE TABLE IF NOTEXISTS "ocr_text"frame_id INTEGER NOT NULL,text TEXT NOT NULL,text_json TEXT,app_name TEXT NOT NULL DEFAULTocr_engine TEXT NOT NULL DEFAULT'unknown'window_name TEXT, focused BOOLEAN DEFAULT FALSE, text_length INTEGER, sync_id TEXT, synced_at DATETIME);CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);CREATE INDEX idx_ocr_text_frame_app_window ON ocr_text(frame_id, app_name, window_name);CREATE INDEX idx_ocr_text_length ON ocr_text (text_length);CREATE INDEX idx_ocr_text_sync_id ONocr_text(sync_id) WHERE sync_id IS NOT NULL;Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S salite3 ~/.screenpipe/db.sqlite "SELECT DISTINCT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIK'%Boosteroid%'LIMIT 20;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
NULL
|
9097104922803381689
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp100% <478Thu 16 Apr 16:33:54-zshDOCKER881Last login: Thu Apr 16 15:48:11 on ttys009DEV (-zsh)882APP (-zsh)*3-zsh• *4-zsh85Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~S sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%" OR window_name LIKE "%Boostroid%"ORDER BY created_at DESC LIMIT 20;"Error: in prepare, no such column:created_atari%' OR window_name LIKE "%Boosteroid%'ORDER BY created_at DESC LIMIT 20;error here---^lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnyroid%'~§ sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE "%BoostORDER BYcreated_at DESC LIMIT 20;"Error: in prepare,no suchcolumn:created_atari%'OR window_name LIKE"%Boosteroid%'ORDER BY created_at DESC LIMIT 20;error herelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~S salite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE '%Boostroid%'ORDER BYcreated_at DESC LIMIT 20;"Error: in prepare,nosuch column:created_atari%'OR window_name LIKE "%Boosteroid%'ORDER BY created_at DESC LIMIT 20;error here---Alukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE '%Boostroid%'ORDER BY timestamp DESC LIMIT 20;"Error: in prepare, no such column: timestampari%' OR window_name LIKE "XBoosteroid%' ORDER BY timestamp DESC LIMIT 20;error here__-лlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite ".schema ocr_text"CREATE TABLE IF NOTEXISTS "ocr_text"frame_id INTEGER NOT NULL,text TEXT NOT NULL,text_json TEXT,app_name TEXT NOT NULL DEFAULTocr_engine TEXT NOT NULL DEFAULT'unknown'window_name TEXT, focused BOOLEAN DEFAULT FALSE, text_length INTEGER, sync_id TEXT, synced_at DATETIME);CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);CREATE INDEX idx_ocr_text_frame_app_window ON ocr_text(frame_id, app_name, window_name);CREATE INDEX idx_ocr_text_length ON ocr_text (text_length);CREATE INDEX idx_ocr_text_sync_id ONocr_text(sync_id) WHERE sync_id IS NOT NULL;Lukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ S salite3 ~/.screenpipe/db.sqlite "SELECT DISTINCT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIK'%Boosteroid%'LIMIT 20;"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ D...
|
39227
|
|
31203
|
626
|
66
|
2026-04-15T15:21:43.799058+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776266503799_m1.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+FirefoxFileEditViewELHomeDMsActivityFilesLater..• +FirefoxFileEditViewELHomeDMsActivityFilesLater..•More+HistoryBookmarksProfilesToolsWindowHelp→Search Jiminny IncJiminny ...+CHISHICCHIS# frontend# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesGo Vasil VasilevAneliya Angelova, ...Stoyan TanevVesGalya DimitrovaRo Steliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaD. Nikolay NikolovAppsVasil Vasilev6 0MessagesMore ~+Add canvasO Filesза stage ce заYesterday~е е лошо дадобавимVasil Vasilev 3:23 PMкое да добавим ?Lukas Kovalik 3:29 PMstage cato crm syncable objectToday ~NewVasil Vasilev 5:56 PMЛукаш, приветSaved for later • Due in 15 hoursутре ако имаш време, хвърли моля те еднооко на тоя PR:https://github.com/jiminny/app/pull/11879почиства стари stale crm обекти, койтомачваме в локалната базапринципа на работа е: ако обект не еъпдейтван 6 месеца, но го мачнем по мейл,или телефон, пробваме да направим единsink, за да видим дали все още съществува вCRM-aв момента таргетира leads основнослед това ще пусна един ПР, дето почистваи tasks / events, че и там имаме стариасоциации, дето от време на време гьрмятJira Cloud1Message Vasil VasilevToast+AaActivity MonitorAll ProcessesProcess NameBoosteroidWindowServerFirefoxFirefoxCP Isolated Web ContentFirefoxCursorUlViewService (Not Responding)FirefoxCP Isolated Web ContentFirefox GPU HelperFirefoxCP Isolated Web ContentFirefox GPU HelperVTDecoderXPCServiceFirefoxCP Isolated Web ContentSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)claudeClaude Helper (Renderer)Notion Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentiTerm2FirefoxCP Isolated Web ContentscreenpipeMEMORY PRESSUREMem...2,04 GB1,22 GB1,01 GB963,2 MB867,0 MB795,8 MB781,5 MB560,2 MB551,9 MB543,9 MB516,1 MB502,6 MB472,8 MB433,1 MB422,7 MB400,5 MB399,6 MB396,3 MB372,6 MB347,9 MB326,3 MB325,4 MB306,9 MB294,4 MB281,5 MB267,8 MB240,5 MB224,6 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% <478Wed 15 Apr 18:21:43CPUMemoryDiskThreads3923722584283024261223152326232627231513152028282759EnergyPorts60019 8427261231 20220 063128244125251168119187121124119126125119172722193131251281 832124521PID93892407801442974146648424203080193671314673938993548041863352763583136898430164365248173265485091060519114835833482984878561384287616,00 GB14,22 GB<1,73 GB3,44 GBApp Memory:Wired Memory:Compressed:NetworkUserlukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas4,33 GB2,91 GB6,43 GB...
|
NULL
|
9096735221593227306
|
NULL
|
click
|
ocr
|
NULL
|
+FirefoxFileEditViewELHomeDMsActivityFilesLater..• +FirefoxFileEditViewELHomeDMsActivityFilesLater..•More+HistoryBookmarksProfilesToolsWindowHelp→Search Jiminny IncJiminny ...+CHISHICCHIS# frontend# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messagesGo Vasil VasilevAneliya Angelova, ...Stoyan TanevVesGalya DimitrovaRo Steliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaD. Nikolay NikolovAppsVasil Vasilev6 0MessagesMore ~+Add canvasO Filesза stage ce заYesterday~е е лошо дадобавимVasil Vasilev 3:23 PMкое да добавим ?Lukas Kovalik 3:29 PMstage cato crm syncable objectToday ~NewVasil Vasilev 5:56 PMЛукаш, приветSaved for later • Due in 15 hoursутре ако имаш време, хвърли моля те еднооко на тоя PR:https://github.com/jiminny/app/pull/11879почиства стари stale crm обекти, койтомачваме в локалната базапринципа на работа е: ако обект не еъпдейтван 6 месеца, но го мачнем по мейл,или телефон, пробваме да направим единsink, за да видим дали все още съществува вCRM-aв момента таргетира leads основнослед това ще пусна един ПР, дето почистваи tasks / events, че и там имаме стариасоциации, дето от време на време гьрмятJira Cloud1Message Vasil VasilevToast+AaActivity MonitorAll ProcessesProcess NameBoosteroidWindowServerFirefoxFirefoxCP Isolated Web ContentFirefoxCursorUlViewService (Not Responding)FirefoxCP Isolated Web ContentFirefox GPU HelperFirefoxCP Isolated Web ContentFirefox GPU HelperVTDecoderXPCServiceFirefoxCP Isolated Web ContentSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)claudeClaude Helper (Renderer)Notion Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentiTerm2FirefoxCP Isolated Web ContentscreenpipeMEMORY PRESSUREMem...2,04 GB1,22 GB1,01 GB963,2 MB867,0 MB795,8 MB781,5 MB560,2 MB551,9 MB543,9 MB516,1 MB502,6 MB472,8 MB433,1 MB422,7 MB400,5 MB399,6 MB396,3 MB372,6 MB347,9 MB326,3 MB325,4 MB306,9 MB294,4 MB281,5 MB267,8 MB240,5 MB224,6 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% <478Wed 15 Apr 18:21:43CPUMemoryDiskThreads3923722584283024261223152326232627231513152028282759EnergyPorts60019 8427261231 20220 063128244125251168119187121124119126125119172722193131251281 832124521PID93892407801442974146648424203080193671314673938993548041863352763583136898430164365248173265485091060519114835833482984878561384287616,00 GB14,22 GB<1,73 GB3,44 GBApp Memory:Wired Memory:Compressed:NetworkUserlukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas4,33 GB2,91 GB6,43 GB...
|
NULL
|
|
30625
|
621
|
8
|
2026-04-15T15:08:07.357860+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776265687357_m1.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+SlackFileEditELHome1DMsActivityFilesLater..•More+ +SlackFileEditELHome1DMsActivityFilesLater..•More+ViewGo→Jiminny ...+CHISHICCIITIS# frontend# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of _jimi...Direct messagesVasil VasilevAneliya Angelova, ...Stoyan TanevVesGalya DimitrovaR. Steliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaR. Nikolay Nikolovii: AppsJira CloudToastHistoryWindowHelpSearch Jiminny Inc# releases8 226 0Messages@ Files• Bookmarks19-520201T 3 new messages+Tag:View JobGitHub APP5:54 PM10 new commits pushed to master by yalokin-jiminny630fd8f9 - SRD-6779 |JY-20632 | Unableto log in to Sidekick with SSO0f38589b - SRD-6779 |JY-20632 | Add log4dd5718e - SRD-6779 |JY-20632 | minorimprovementb1e544db - SRD-6779 |JY-20632 | addtests8bd0ef70 - SRD-6779 |JY-20632 | addtestsShow more( jiminny/app Added by GitHubCircleCl APP5:56 PMDeployment Successful!Project:extension-appTag:When:04/15/202614:56:29View JobMessage #releases+AaActivity MonitorAll ProcessesProcess NameBoosteroidWindowServerFirefoxFirefoxCP Isolated Web ContentFirefoxFirefoxCP Isolated Web ContentCursorUlViewService (Not Responding)FirefoxCP Isolated Web ContentFirefox GPU HelperFirefox GPU HelperVTDecoderXPCServiceFirefoxCP Isolated Web ContentSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)Notion Helper (Renderer)claudeClaude Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentiTerm2FirefoxCP Isolated Web ContentCode Helper (Renderer)MEMORY PRESSURERMem...2,05 GB1,20 GB1,01 GB963,1 MB853,7 MB824,3 MB794,5 MB547,7 MB544,3 MB543,8 MB516,0 MB500,7 MB487,8 MB430,5 MB422,6 MB398,5 MB395,0 MB391,8 MB372,6 MB345,5 MB331,3 MB326,3 MB325,5 MB303,1 MB275,9 MB268,4 MB248,7 MB213,8 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% <478Wed 15 Apr 18:08:07CPUMemoryDiskThreads41237426842824292611241524252624272315211315272762618EnergyPorts60219 8077261261 20213020 047126242251166122185123123126122126121175328722211241271 832123215PID93892407801442974146644203084236713801914673938993548041863352763583143016368984365248173265481148509106051935833482984878561388534016,00 GB14,24 GB <1,71 GB3,18 GBApp Memory:Wired Memory:Compressed:NetworkUserlukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas3,58 GB2,99 GB7,12 GB...
|
NULL
|
9096552129549826607
|
NULL
|
click
|
ocr
|
NULL
|
+SlackFileEditELHome1DMsActivityFilesLater..•More+ +SlackFileEditELHome1DMsActivityFilesLater..•More+ViewGo→Jiminny ...+CHISHICCIITIS# frontend# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of _jimi...Direct messagesVasil VasilevAneliya Angelova, ...Stoyan TanevVesGalya DimitrovaR. Steliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaR. Nikolay Nikolovii: AppsJira CloudToastHistoryWindowHelpSearch Jiminny Inc# releases8 226 0Messages@ Files• Bookmarks19-520201T 3 new messages+Tag:View JobGitHub APP5:54 PM10 new commits pushed to master by yalokin-jiminny630fd8f9 - SRD-6779 |JY-20632 | Unableto log in to Sidekick with SSO0f38589b - SRD-6779 |JY-20632 | Add log4dd5718e - SRD-6779 |JY-20632 | minorimprovementb1e544db - SRD-6779 |JY-20632 | addtests8bd0ef70 - SRD-6779 |JY-20632 | addtestsShow more( jiminny/app Added by GitHubCircleCl APP5:56 PMDeployment Successful!Project:extension-appTag:When:04/15/202614:56:29View JobMessage #releases+AaActivity MonitorAll ProcessesProcess NameBoosteroidWindowServerFirefoxFirefoxCP Isolated Web ContentFirefoxFirefoxCP Isolated Web ContentCursorUlViewService (Not Responding)FirefoxCP Isolated Web ContentFirefox GPU HelperFirefox GPU HelperVTDecoderXPCServiceFirefoxCP Isolated Web ContentSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)Notion Helper (Renderer)claudeClaude Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentiTerm2FirefoxCP Isolated Web ContentCode Helper (Renderer)MEMORY PRESSURERMem...2,05 GB1,20 GB1,01 GB963,1 MB853,7 MB824,3 MB794,5 MB547,7 MB544,3 MB543,8 MB516,0 MB500,7 MB487,8 MB430,5 MB422,6 MB398,5 MB395,0 MB391,8 MB372,6 MB345,5 MB331,3 MB326,3 MB325,5 MB303,1 MB275,9 MB268,4 MB248,7 MB213,8 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% <478Wed 15 Apr 18:08:07CPUMemoryDiskThreads41237426842824292611241524252624272315211315272762618EnergyPorts60219 8077261261 20213020 047126242251166122185123123126122126121175328722211241271 832123215PID93892407801442974146644203084236713801914673938993548041863352763583143016368984365248173265481148509106051935833482984878561388534016,00 GB14,24 GB <1,71 GB3,18 GBApp Memory:Wired Memory:Compressed:NetworkUserlukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas3,58 GB2,99 GB7,12 GB...
|
NULL
|
|
50153
|
1069
|
17
|
2026-04-17T14:25:12.284096+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776435912284_m1.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Click to collapse
Skip to content
Skip to content
Click to collapse
⌘B
Drag to resize
Collapse sidebar
Search
Chat
Cowork
Code
New chat ⌘N
New chat
⌘N
Projects
Customize
Artifacts
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Boosteroid still recording despite ignored windows setting
More options for Boosteroid still recording despite ignored windows setting
Missing JavaScript promise in authorization response
More options for Missing JavaScript promise in authorization response
Linux SQLite UI for NAS
More options for Linux SQLite UI for NAS
Claude API 500 internal server error
More options for Claude API 500 internal server error
Screenpipe query capabilities and usage
More options for Screenpipe query capabilities and usage
eGPU compatibility with Mac mini and Studio
More options for eGPU compatibility with Mac mini and Studio
Understanding OpenRouter API gateway
More options for Understanding OpenRouter API gateway
Screenpipe 14-day retention explained
More options for Screenpipe 14-day retention explained
Reddit homepage feed overview
More options for Reddit homepage feed overview
Docker container not visible in console
More options for Docker container not visible in console
DIA browser RAM configuration
More options for DIA browser RAM configuration
Screenpipe company background
More options for Screenpipe company background
DSK Bank Bulgaria secure investing explained
More options for DSK Bank Bulgaria secure investing explained
Building a comprehensive personal homelab system
More options for Building a comprehensive personal homelab system
Importing Google Timeline data to Owntracks
More options for Importing Google Timeline data to Owntracks
Chromecast remote volume buttons not working
More options for Chromecast remote volume buttons not working
Screenpipe free version guide
More options for Screenpipe free version guide
Self-hosted LLM alternatives to Claude Sonnet
More options for Self-hosted LLM alternatives to Claude Sonnet
Screenpipe database query setup
More options for Screenpipe database query setup
Running screenpipe for free
More options for Running screenpipe for free
Updated to 1.3109.0
Relaunch to apply
Relaunch
Lukas Kovalik
Lukas Kovalik
Get apps and extensions
Boosteroid still recording despite ignored windows setting
Boosteroid still recording despite ignored windows setting
More options for Boosteroid still recording despite ignored windows setting
Close
Share chat
Screenpipe I have set Boosteroid to ignored windows but it is still being recorded. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat config.json
{
"disable_audio": true,
"monitor_ids": ["Display 1_1440x900_0,0", "Display 2_3008x1253_-813,-1253"],
"ignored_windows": [
"1Password",
"Keychain Access",
"Bitwarden",
"System Preferences",
"System Settings",
"zoom.us",
"HBO Max",
"Screenpipe Dashboard",
"Boosteroid"
]
}
Show more
15:40
Retry
Edit
Copy...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"role_description":"text"},{"role":"AXStaticText","text":"Click to collapse","depth":16,"role_description":"text"},{"role":"AXStaticText","text":"⌘B","depth":16,"role_description":"text"},{"role":"AXStaticText","text":"Drag to resize","depth":16,"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat ⌘N","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"New chat","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"⌘N","depth":18,"role_description":"text"},{"role":"AXButton","text":"Projects","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Boosteroid still recording despite ignored windows setting","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Boosteroid still recording despite ignored windows setting","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Missing JavaScript promise in authorization response","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Missing JavaScript promise in authorization response","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Linux SQLite UI for NAS","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Linux SQLite UI for NAS","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Claude API 500 internal server error","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Claude API 500 internal server error","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe query capabilities and usage","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe query capabilities and usage","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"eGPU compatibility with Mac mini and Studio","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for eGPU compatibility with Mac mini and Studio","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Understanding OpenRouter API gateway","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Understanding OpenRouter API gateway","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe 14-day retention explained","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe 14-day retention explained","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reddit homepage feed overview","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Reddit homepage feed overview","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Docker container not visible in console","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Docker container not visible in console","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"DIA browser RAM configuration","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for DIA browser RAM configuration","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe company background","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe company background","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"DSK Bank Bulgaria secure investing explained","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for DSK Bank Bulgaria secure investing explained","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Building a comprehensive personal homelab system","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Building a comprehensive personal homelab system","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Importing Google Timeline data to Owntracks","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Importing Google Timeline data to Owntracks","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chromecast remote volume buttons not working","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Chromecast remote volume buttons not working","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe free version guide","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe free version guide","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Self-hosted LLM alternatives to Claude Sonnet","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Self-hosted LLM alternatives to Claude Sonnet","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe database query setup","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe database query setup","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Running screenpipe for free","depth":17,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Running screenpipe for free","depth":18,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Updated to 1.3109.0","depth":16,"role_description":"text"},{"role":"AXStaticText","text":"Relaunch to apply","depth":16,"role_description":"text"},{"role":"AXButton","text":"Relaunch","depth":16,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Lukas Kovalik","depth":16,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"role_description":"text"},{"role":"AXButton","text":"Get apps and extensions","depth":15,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Boosteroid still recording despite ignored windows setting","depth":20,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Boosteroid still recording despite ignored windows setting","depth":22,"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Boosteroid still recording despite ignored windows setting","depth":20,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":22,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":22,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe I have set Boosteroid to ignored windows but it is still being recorded. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat config.json\n{\n \"disable_audio\": true,\n \"monitor_ids\": [\"Display 1_1440x900_0,0\", \"Display 2_3008x1253_-813,-1253\"],\n \"ignored_windows\": [\n \"1Password\",\n \"Keychain Access\",\n \"Bitwarden\",\n \"System Preferences\",\n \"System Settings\",\n \"zoom.us\",\n \"HBO Max\",\n \"Screenpipe Dashboard\",\n \"Boosteroid\"\n ]\n}","depth":25,"role_description":"text"},{"role":"AXButton","text":"Show more","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"15:40","depth":23,"role_description":"text"},{"role":"AXButton","text":"Retry","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
9096339763516517179
|
-4462681173948147524
|
click
|
hybrid
|
NULL
|
Skip to content
Skip to content
Click to collapse
Skip to content
Skip to content
Click to collapse
⌘B
Drag to resize
Collapse sidebar
Search
Chat
Cowork
Code
New chat ⌘N
New chat
⌘N
Projects
Customize
Artifacts
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Boosteroid still recording despite ignored windows setting
More options for Boosteroid still recording despite ignored windows setting
Missing JavaScript promise in authorization response
More options for Missing JavaScript promise in authorization response
Linux SQLite UI for NAS
More options for Linux SQLite UI for NAS
Claude API 500 internal server error
More options for Claude API 500 internal server error
Screenpipe query capabilities and usage
More options for Screenpipe query capabilities and usage
eGPU compatibility with Mac mini and Studio
More options for eGPU compatibility with Mac mini and Studio
Understanding OpenRouter API gateway
More options for Understanding OpenRouter API gateway
Screenpipe 14-day retention explained
More options for Screenpipe 14-day retention explained
Reddit homepage feed overview
More options for Reddit homepage feed overview
Docker container not visible in console
More options for Docker container not visible in console
DIA browser RAM configuration
More options for DIA browser RAM configuration
Screenpipe company background
More options for Screenpipe company background
DSK Bank Bulgaria secure investing explained
More options for DSK Bank Bulgaria secure investing explained
Building a comprehensive personal homelab system
More options for Building a comprehensive personal homelab system
Importing Google Timeline data to Owntracks
More options for Importing Google Timeline data to Owntracks
Chromecast remote volume buttons not working
More options for Chromecast remote volume buttons not working
Screenpipe free version guide
More options for Screenpipe free version guide
Self-hosted LLM alternatives to Claude Sonnet
More options for Self-hosted LLM alternatives to Claude Sonnet
Screenpipe database query setup
More options for Screenpipe database query setup
Running screenpipe for free
More options for Running screenpipe for free
Updated to 1.3109.0
Relaunch to apply
Relaunch
Lukas Kovalik
Lukas Kovalik
Get apps and extensions
Boosteroid still recording despite ignored windows setting
Boosteroid still recording despite ignored windows setting
More options for Boosteroid still recording despite ignored windows setting
Close
Share chat
Screenpipe I have set Boosteroid to ignored windows but it is still being recorded. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat config.json
{
"disable_audio": true,
"monitor_ids": ["Display 1_1440x900_0,0", "Display 2_3008x1253_-813,-1253"],
"ignored_windows": [
"1Password",
"Keychain Access",
"Bitwarden",
"System Preferences",
"System Settings",
"zoom.us",
"HBO Max",
"Screenpipe Dashboard",
"Boosteroid"
]
}
Show more
15:40
Retry
Edit
Copy
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(ahlTech Day Review - 5 m leftA100% <478-zshDOCKER© 81DEV (docker)APP (-zsh)*3-zshzsh:terminatedsqlite3"SDB_SRC"<<<"*sqlite3 "SDB_SRC"<<<""1.36s user 5.25s system 1%cpu 9:57.77 totalvideo_chunks..sqlite3"SDB_SRC"<<""0.04s user0.06s system 8% cpu 1.162 totalmeetings...sqlite3 "SDB_SRC"«<<""0.00s user 0.01s system 1% cpu 0.454 totalVerification:frames |12874^CError: stepping, interrupted (9)Program interrupted.199MNolumes/Test/screenpipe/archive.dblukas@Lukas-Kovaliks-MacBook-Pro-Jiminnylukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe $ sp-status~/.screenpipe $ du -sh ~/.screenpipe8.0G/Users/lukas/.screenpipelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~/.screenpipe $ du -sh ~/.screenpipe/*4.0K4.6G/Users/lukas/.screenpipe/config.json/Users/lukas/.screenpipe/data3.4G/Users/lukas/.screenpipe/db.sqlite64K/Users/lukas/.screenpipe/db.sqlite-shm16M/Users/lukas/.screenpipe/db.sqlite-wal36K/Users/lukas/.screenpipe/pipes132K96K/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.10g/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.1og72K/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log72K/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.log160K/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.10g172K/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.log232K/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.10g132K/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.10g4.0K/Users/lukas/.screenpipe/screenpipe_sync.shlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du-sh ~/.screenpipe/*4.0K/Users/lukas/.screenpipe/config.json4.7G/Users/lukas/.screenpipe/data3.6G/Users/lukas/.screenpipe/db.sqlite128K/Users/lukas/.screenpipe/db.sqlite-shm16M/Users/lukas/.screenpipe/db.sqlite-wal36K/Users/lukas/.screenpipe/pipes132K/Users/lukas/.screenpipe/screenpipe.2026-04-09.0.10g96K/Users/lukas/.screenpipe/screenpipe.2026-04-11.0.1og72K/Users/lukas/.screenpipe/screenpipe.2026-04-12.0.log72K/Users/lukas/.screenpipe/screenpipe.2026-04-13.0.10g160K/Users/lukas/.screenpipe/screenpipe.2026-04-14.0.log172K/Users/lukas/.screenpipe/screenpipe.2026-04-15.0.10g196K/Users/lukas/.screenpipe/screenpipe.2026-04-16.0.log196K/Users/lukas/.screenpipe/screenpipe.2026-04-17.0.log4.0K/Users/lukas/.screenpipe/screenpipe_sync.shukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ 0₴4-zsh• ₴5* Review screenp...• X6ec2-user@ip-10-...• ₴7Fri 17 Apr 17:25:121₴81ec2-user@ip-10-...• 88...
|
NULL
|
|
50479
|
1082
|
13
|
2026-04-17T14:55:58.685224+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776437758685_m2.jpg...
|
Claude
|
Claude
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Skip to content
Skip to content
Click to collapse
Skip to content
Skip to content
Click to collapse
⌘B
Drag to resize
Collapse sidebar
Search
Chat
Cowork
Code
New chat ⌘N
New chat
⌘N
Projects
Customize
Artifacts
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Boosteroid still recording despite ignored windows setting
More options for Boosteroid still recording despite ignored windows setting
Missing JavaScript promise in authorization response
More options for Missing JavaScript promise in authorization response
Linux SQLite UI for NAS
More options for Linux SQLite UI for NAS
Claude API 500 internal server error
More options for Claude API 500 internal server error
Screenpipe query capabilities and usage
More options for Screenpipe query capabilities and usage
eGPU compatibility with Mac mini and Studio
More options for eGPU compatibility with Mac mini and Studio
Understanding OpenRouter API gateway
More options for Understanding OpenRouter API gateway
Screenpipe 14-day retention explained
More options for Screenpipe 14-day retention explained
Reddit homepage feed overview
More options for Reddit homepage feed overview
Docker container not visible in console
More options for Docker container not visible in console
DIA browser RAM configuration
More options for DIA browser RAM configuration
Screenpipe company background
More options for Screenpipe company background
DSK Bank Bulgaria secure investing explained
More options for DSK Bank Bulgaria secure investing explained
Building a comprehensive personal homelab system
More options for Building a comprehensive personal homelab system
Importing Google Timeline data to Owntracks
More options for Importing Google Timeline data to Owntracks
Chromecast remote volume buttons not working
More options for Chromecast remote volume buttons not working
Screenpipe free version guide
More options for Screenpipe free version guide
Self-hosted LLM alternatives to Claude Sonnet
More options for Self-hosted LLM alternatives to Claude Sonnet
Screenpipe database query setup
More options for Screenpipe database query setup
Running screenpipe for free
More options for Running screenpipe for free
Updated to 1.3109.0
Relaunch to apply
Relaunch
Lukas Kovalik
Lukas Kovalik
Get apps and extensions
Boosteroid still recording despite ignored windows setting
Boosteroid still recording despite ignored windows setting
More options for Boosteroid still recording despite ignored windows setting
Close
Share chat
Screenpipe I have set Boosteroid to ignored windows but it is still being recorded. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat config.json
{
"disable_audio": true,
"monitor_ids": ["Display 1_1440x900_0,0", "Display 2_3008x1253_-813,-1253"],
"ignored_windows": [
"1Password",
"Keychain Access",
"Bitwarden",
"System Preferences",
"System Settings",
"zoom.us",
"HBO Max",
"Screenpipe Dashboard",
"Boosteroid"
]
}
Show more
15:40
Retry
Edit
Copy...
|
[{"role":"AXLink","text":& [{"role":"AXLink","text":"Skip to content","depth":14,"bounds":{"left":0.002734375,"top":0.022222223,"width":0.000390625,"height":0.00069444446},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Skip to content","depth":15,"bounds":{"left":0.002734375,"top":0.022222223,"width":0.044921875,"height":0.00069444446},"role_description":"text"},{"role":"AXStaticText","text":"Click to collapse","depth":16,"bounds":{"left":0.1234375,"top":0.49166667,"width":0.036328126,"height":0.010416667},"role_description":"text"},{"role":"AXStaticText","text":"⌘B","depth":16,"bounds":{"left":0.16171876,"top":0.49166667,"width":0.0078125,"height":0.010416667},"role_description":"text"},{"role":"AXStaticText","text":"Drag to resize","depth":16,"bounds":{"left":0.1234375,"top":0.50208336,"width":0.03046875,"height":0.010416667},"role_description":"text"},{"role":"AXButton","text":"Collapse sidebar","depth":15,"bounds":{"left":0.0359375,"top":0.025694445,"width":0.009375,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search","depth":15,"bounds":{"left":0.0453125,"top":0.025694445,"width":0.009375,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chat","depth":16,"bounds":{"left":0.006640625,"top":0.05347222,"width":0.026171874,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cowork","depth":16,"bounds":{"left":0.033203125,"top":0.05347222,"width":0.011328125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code","depth":16,"bounds":{"left":0.044921875,"top":0.05347222,"width":0.011328125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New chat ⌘N","depth":16,"bounds":{"left":0.00625,"top":0.07986111,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"New chat","depth":17,"bounds":{"left":0.01796875,"top":0.08263889,"width":0.023046875,"height":0.011805556},"role_description":"text"},{"role":"AXStaticText","text":"⌘N","depth":18,"bounds":{"left":0.09882812,"top":0.083333336,"width":0.008203125,"height":0.010416667},"role_description":"text"},{"role":"AXButton","text":"Projects","depth":16,"bounds":{"left":0.00625,"top":0.09791667,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Customize","depth":16,"bounds":{"left":0.00625,"top":0.11597222,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Artifacts","depth":16,"bounds":{"left":0.00625,"top":0.13402778,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Pinned","depth":16,"bounds":{"left":0.00859375,"top":0.16875,"width":0.1,"height":0.011111111},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Bulgarian citizenship application process for EU residents","depth":17,"bounds":{"left":0.00625,"top":0.18333334,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Bulgarian citizenship application process for EU residents","depth":18,"bounds":{"left":0.10078125,"top":0.18611111,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Dawarich location tracking project","depth":17,"bounds":{"left":0.00625,"top":0.20208333,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Dawarich location tracking project","depth":18,"bounds":{"left":0.10078125,"top":0.2048611,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Recents","depth":16,"bounds":{"left":0.00859375,"top":0.22847222,"width":0.076171875,"height":0.011111111},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"View all","depth":16,"bounds":{"left":0.0859375,"top":0.22847222,"width":0.02265625,"height":0.011111111},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Boosteroid still recording despite ignored windows setting","depth":17,"bounds":{"left":0.00625,"top":0.24305555,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Boosteroid still recording despite ignored windows setting","depth":18,"bounds":{"left":0.10078125,"top":0.24583334,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Missing JavaScript promise in authorization response","depth":17,"bounds":{"left":0.00625,"top":0.26180556,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Missing JavaScript promise in authorization response","depth":18,"bounds":{"left":0.10078125,"top":0.26458332,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Linux SQLite UI for NAS","depth":17,"bounds":{"left":0.00625,"top":0.28055555,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Linux SQLite UI for NAS","depth":18,"bounds":{"left":0.10078125,"top":0.28333333,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Claude API 500 internal server error","depth":17,"bounds":{"left":0.00625,"top":0.29930556,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Claude API 500 internal server error","depth":18,"bounds":{"left":0.10078125,"top":0.30208334,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe query capabilities and usage","depth":17,"bounds":{"left":0.00625,"top":0.31805557,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe query capabilities and usage","depth":18,"bounds":{"left":0.10078125,"top":0.32083333,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"eGPU compatibility with Mac mini and Studio","depth":17,"bounds":{"left":0.00625,"top":0.33680555,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for eGPU compatibility with Mac mini and Studio","depth":18,"bounds":{"left":0.10078125,"top":0.33958334,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Understanding OpenRouter API gateway","depth":17,"bounds":{"left":0.00625,"top":0.35555556,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Understanding OpenRouter API gateway","depth":18,"bounds":{"left":0.10078125,"top":0.35833332,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe 14-day retention explained","depth":17,"bounds":{"left":0.00625,"top":0.37430555,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe 14-day retention explained","depth":18,"bounds":{"left":0.10078125,"top":0.37708333,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reddit homepage feed overview","depth":17,"bounds":{"left":0.00625,"top":0.39305556,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Reddit homepage feed overview","depth":18,"bounds":{"left":0.10078125,"top":0.39583334,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Docker container not visible in console","depth":17,"bounds":{"left":0.00625,"top":0.41180557,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Docker container not visible in console","depth":18,"bounds":{"left":0.10078125,"top":0.41458333,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"DIA browser RAM configuration","depth":17,"bounds":{"left":0.00625,"top":0.43055555,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for DIA browser RAM configuration","depth":18,"bounds":{"left":0.10078125,"top":0.43333334,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe company background","depth":17,"bounds":{"left":0.00625,"top":0.44930556,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe company background","depth":18,"bounds":{"left":0.10078125,"top":0.45208332,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"DSK Bank Bulgaria secure investing explained","depth":17,"bounds":{"left":0.00625,"top":0.46805555,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for DSK Bank Bulgaria secure investing explained","depth":18,"bounds":{"left":0.10078125,"top":0.47083333,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Building a comprehensive personal homelab system","depth":17,"bounds":{"left":0.00625,"top":0.48680556,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Building a comprehensive personal homelab system","depth":18,"bounds":{"left":0.10078125,"top":0.48958334,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Importing Google Timeline data to Owntracks","depth":17,"bounds":{"left":0.00625,"top":0.50555557,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Importing Google Timeline data to Owntracks","depth":18,"bounds":{"left":0.10078125,"top":0.5083333,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Chromecast remote volume buttons not working","depth":17,"bounds":{"left":0.00625,"top":0.5243056,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Chromecast remote volume buttons not working","depth":18,"bounds":{"left":0.10078125,"top":0.52708334,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe free version guide","depth":17,"bounds":{"left":0.00625,"top":0.54305553,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe free version guide","depth":18,"bounds":{"left":0.10078125,"top":0.54583335,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Self-hosted LLM alternatives to Claude Sonnet","depth":17,"bounds":{"left":0.00625,"top":0.56180555,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Self-hosted LLM alternatives to Claude Sonnet","depth":18,"bounds":{"left":0.10078125,"top":0.56458336,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screenpipe database query setup","depth":17,"bounds":{"left":0.00625,"top":0.58055556,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Screenpipe database query setup","depth":18,"bounds":{"left":0.10078125,"top":0.5833333,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Running screenpipe for free","depth":17,"bounds":{"left":0.00625,"top":0.59930557,"width":0.103125,"height":0.018055556},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More options for Running screenpipe for free","depth":18,"bounds":{"left":0.10078125,"top":0.6020833,"width":0.00703125,"height":0.0125},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Updated to 1.3109.0","depth":16,"bounds":{"left":0.032421876,"top":0.89166665,"width":0.05078125,"height":0.0125},"role_description":"text"},{"role":"AXStaticText","text":"Relaunch to apply","depth":16,"bounds":{"left":0.037890624,"top":0.90625,"width":0.03984375,"height":0.010416667},"role_description":"text"},{"role":"AXButton","text":"Relaunch","depth":16,"bounds":{"left":0.011328125,"top":0.92569447,"width":0.09296875,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Lukas Kovalik","depth":16,"bounds":{"left":0.00625,"top":0.97083336,"width":0.044921875,"height":0.016666668},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Lukas Kovalik","depth":17,"bounds":{"left":0.01796875,"top":0.9736111,"width":0.030078124,"height":0.010416667},"role_description":"text"},{"role":"AXButton","text":"Get apps and extensions","depth":15,"bounds":{"left":0.1,"top":0.97152776,"width":0.009375,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Boosteroid still recording despite ignored windows setting","depth":20,"bounds":{"left":0.121875,"top":0.024305556,"width":0.15703125,"height":0.019444445},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Boosteroid still recording despite ignored windows setting","depth":22,"bounds":{"left":0.125,"top":0.027083334,"width":0.15078124,"height":0.013194445},"role_description":"text"},{"role":"AXPopUpButton","text":"More options for Boosteroid still recording despite ignored windows setting","depth":20,"bounds":{"left":0.27890626,"top":0.024305556,"width":0.011328125,"height":0.019444445},"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":22,"bounds":{"left":0.52382815,"top":0.022916667,"width":0.0125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share chat","depth":22,"bounds":{"left":0.5378906,"top":0.022916667,"width":0.0125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Screenpipe I have set Boosteroid to ignored windows but it is still being recorded. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat config.json\n{\n \"disable_audio\": true,\n \"monitor_ids\": [\"Display 1_1440x900_0,0\", \"Display 2_3008x1253_-813,-1253\"],\n \"ignored_windows\": [\n \"1Password\",\n \"Keychain Access\",\n \"Bitwarden\",\n \"System Preferences\",\n \"System Settings\",\n \"zoom.us\",\n \"HBO Max\",\n \"Screenpipe Dashboard\",\n \"Boosteroid\"\n ]\n}","depth":25,"bounds":{"left":0.23867187,"top":0.017361112,"width":0.22578125,"height":0.00069444446},"role_description":"text"},{"role":"AXButton","text":"Show more","depth":23,"bounds":{"left":0.23867187,"top":0.017361112,"width":0.17421874,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"15:40","depth":23,"bounds":{"left":0.425,"top":0.017361112,"width":0.011328125,"height":0.00069444446},"role_description":"text"},{"role":"AXButton","text":"Retry","depth":23,"bounds":{"left":0.43945312,"top":0.017361112,"width":0.0125,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Edit","depth":23,"bounds":{"left":0.4519531,"top":0.017361112,"width":0.0125,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Copy","depth":23,"bounds":{"left":0.46445313,"top":0.017361112,"width":0.0125,"height":0.00069444446},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
9096339763516517179
|
-4462681173948147524
|
click
|
hybrid
|
NULL
|
Skip to content
Skip to content
Click to collapse
Skip to content
Skip to content
Click to collapse
⌘B
Drag to resize
Collapse sidebar
Search
Chat
Cowork
Code
New chat ⌘N
New chat
⌘N
Projects
Customize
Artifacts
Pinned
Bulgarian citizenship application process for EU residents
More options for Bulgarian citizenship application process for EU residents
Dawarich location tracking project
More options for Dawarich location tracking project
Recents
View all
Boosteroid still recording despite ignored windows setting
More options for Boosteroid still recording despite ignored windows setting
Missing JavaScript promise in authorization response
More options for Missing JavaScript promise in authorization response
Linux SQLite UI for NAS
More options for Linux SQLite UI for NAS
Claude API 500 internal server error
More options for Claude API 500 internal server error
Screenpipe query capabilities and usage
More options for Screenpipe query capabilities and usage
eGPU compatibility with Mac mini and Studio
More options for eGPU compatibility with Mac mini and Studio
Understanding OpenRouter API gateway
More options for Understanding OpenRouter API gateway
Screenpipe 14-day retention explained
More options for Screenpipe 14-day retention explained
Reddit homepage feed overview
More options for Reddit homepage feed overview
Docker container not visible in console
More options for Docker container not visible in console
DIA browser RAM configuration
More options for DIA browser RAM configuration
Screenpipe company background
More options for Screenpipe company background
DSK Bank Bulgaria secure investing explained
More options for DSK Bank Bulgaria secure investing explained
Building a comprehensive personal homelab system
More options for Building a comprehensive personal homelab system
Importing Google Timeline data to Owntracks
More options for Importing Google Timeline data to Owntracks
Chromecast remote volume buttons not working
More options for Chromecast remote volume buttons not working
Screenpipe free version guide
More options for Screenpipe free version guide
Self-hosted LLM alternatives to Claude Sonnet
More options for Self-hosted LLM alternatives to Claude Sonnet
Screenpipe database query setup
More options for Screenpipe database query setup
Running screenpipe for free
More options for Running screenpipe for free
Updated to 1.3109.0
Relaunch to apply
Relaunch
Lukas Kovalik
Lukas Kovalik
Get apps and extensions
Boosteroid still recording despite ignored windows setting
Boosteroid still recording despite ignored windows setting
More options for Boosteroid still recording despite ignored windows setting
Close
Share chat
Screenpipe I have set Boosteroid to ignored windows but it is still being recorded. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cat config.json
{
"disable_audio": true,
"monitor_ids": ["Display 1_1440x900_0,0", "Display 2_3008x1253_-813,-1253"],
"ignored_windows": [
"1Password",
"Keychain Access",
"Bitwarden",
"System Preferences",
"System Settings",
"zoom.us",
"HBO Max",
"Screenpipe Dashboard",
"Boosteroid"
]
}
Show more
15:40
Retry
Edit
Copy
ClaudeFileEditViewWindowHelpBoosteroid still recording despite ignored windows setting0, Chat+ New chat5 Projects@ Customize8u ArtifactsBulgarian citizenship application processDawarich location tracking projectBoosteroid still recording despite ignorecMissing JavaScript promise in authorizatLinux SQLite Ul for NASClaude API 500 internal server errorScreenpipe query capabilities and usageeGPU compatibility with Mac mini and StUnderstanaing openkouter ArlgalewaScreenpipe 14-day retention explainedReddit homepage feed overviewDocker container not visible in consoleDA Drowser kAM conr ourationScreenpipe company backgroundDSK Bank Bulgaria secure investing explaBuilding a comprehensive personal homeImporting Google Timeline data to Owntrenromacast remora volume bulttans notiScreenpipe free version guideSelf-hosted LLM alternatives to Claude SScreenpipe database query setupRunning screenpipe for freeI want to test it before running it . How ot run itYou've commented out all the sync code — that's fine for testing the preflight and countingsteps. But there are two issues at the end - (($DB_SIZE) and $TOTAL_ELAPSED are referencedbut never set since those lines are commented out.Quick fix to test just preflight + counting, comment out the broken last lines too:bash# Make executablechmod +x ~/.screenpipe/screenpipe_sync.sh# Run with a specific date to test~/. screenpipe/screenpipe_sync.sh 2026-04-0pBut first comment out the last 4 lines in your file:oash# echo "'# 10g "Archive DB size:$DB_SIZE"# 10g "Total time:$(( TOTAL_ELAPSED / 60 ))m$(( TOTAL_ELAPSED % 60 ))s"# 10g "Sync complete for $TARGET_DATE"# 10g "============================Or just do a quick inline test without touching the file — paste this directly in terminal to testjust the preflight logic:DB_SRC="$HOME/.screenpipe/db.sqlite"NAS_MOUNT="/Volumes/Test/screenpipe"TARGET_DATE="2026-04-15"-t "sDB SRC"&& echo"y Source DB:-" "SNAs MOUNI"*x ecno"V NAS mount:$(du -sh $DB_SRC | cut -f1)" || echo "x SouUx"ecne"X NAS not mounted"echo "Counting rows..."sqlite3 "$DB_SRC" "SELECT COUNT(*) |1frames'FROM framesWHERE date(timestampsqlite3"$DB_SRC" "SELECT COUNT(*) |1' elements'FROM elementsWHERE frame_id IN (Ssqlite3 "$DB_SRC" "SELECT COUNT(*) || ' vi_events' FROM vi_events WHERE date(timestampUpdated to 1.3109.0Ke auncho aooyRelaunch…Lukas kovalkReply...Sonnet 40Clauae is Al ana can make mistakes. rlease double-cneck responses.libdA100% C•Fri 17 Apr 17:55:58CopyScreenpipe sync • SHsqlite3 "$DB_SRC" <<< "$sql" &local pid=$!local spin=[PASSWORD] i=0while kill -0 "$pid" 2>/dev/null; doprintf "\r%-36s %s " "$label" "${spin[$1]}"i=$(( (1 + 1) % 10 ))sleep 0.2aonewait "spid'local dur=$(( $(date +%) - start ))printf "\r%-36s v %dm%02ds\n" "$label" "$(( dur / 60 ))" "$(( dur % 60 ))" | tee -a "$LOG_FILE"100101102DAUT ARGUMENIN1T L"921:-5" = "today" J; therARGE DATTES date +%y-/m-/dxelif [ -n "${1:-}" ]; thenLARGEI DAIL-"S1"if ! [[ "$TARGET_DATE" =~ ^[0-9]{43- [0-9](23-[0-9](23$ ]]; thenecho "ERROR: Invalid date format. Use YYYY-MM-DD, 'today', or no argument for yesterday."exit 1fielseTARGET_DATE=$(date -v-1d +%Y-%m-%d)10g1og"Screenpipe sync starting for: $TARGET_DATE"1ogFACrLLOhlstep "Preflight checks"if [ ! -f "$DB_SRC" ]; then10g "ERROR: Source DB not found at $DB_SRC"; exit 1printf"%-Dos%c(%s)\n" "Source DB:" "OK" "$(du -sh "$DB SRC" | cut -f1)"if [ ! -d "$NAS _MOUNT" ]; then10g "ERROR: NAS not mounted at $NAS_MOUNT"; exit 1printf "%-20s %s\n" "NAS mount:" "OK$NAS_MOUNT"if [ -f "$NAS_DB" ]; thenEXISTING=$(sqlite3 "$NAS_DB" "SELECT COUNT(*) FROM frames WHERE date(timestamp) = '$TARGET_DATE';" 2>/dev/nu11 || echo "Q")if [ "$EXISTING"-gt "0" ; then10g "Date STARGET_DATE already has $EXISTING frames in archive - skipping"exit 0printf "elseprintf"%-20s %s (%s)\n" "Archive DB:" "exists" "$(du -sh "$NAS_DB" | cut -f1)"%-20s %s\n" "Archive DB:" "will be created"COUNT SOURCE ROWSstep "Counting source rows for $TARGET_DATE"...
|
NULL
|
|
39060
|
NULL
|
0
|
2026-04-16T13:28:27.072963+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-16/1776 /Users/lukas/.screenpipe/data/data/2026-04-16/1776346107072_m1.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lbl100% <478Thu 16 Apr 16:28:26-zshDOCKER881Last login: Thu Apr 16 15:48:11 on ttys009DEV (-zsh)882APP (-zsh)*3-zsh• $84-zsh85Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~S sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%" OR window_name LIKE "%Boostroid%"ORDER BY created_at DESC LIMIT 20;"Error: in prepare, no such column:created_atari%' OR window_name LIKE "%Boosteroid%'ORDER BY created_at DESC LIMIT 20;error here---^lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnyroid%'~§ sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE "%BoostORDER BYcreated_at DESC LIMIT20;"Error: in prepare, no such column:created_atari%'OR window_name LIKE"%Boosteroid%"ORDER BY created_at DESC LIMIT 20;error herelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~S sqlite3~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE '%Safari%' OR window_name LIKE "%Boostroid%'ORDER BYcreated_at DESC LIMIT 20;"Error: in prepare,no such column:created_atari%'OR window_name LIKE '%Boosteroid%' ORDER BY created_at DESC LIMIT 20;error here---Alukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE '%Boostroid%' ORDER BY timestamp DESC LIMIT 20;"Error: in prepare, no such column: timestampari%' OR window_name LIKE '%Boosteroid%' ORDER BY timestamp DESC LIMIT 20;error here ---^lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite ".schema ocr_text"CREATE TABLE IF NOT EXISTS "ocr_text"frame_id INTEGER NOT NULL,text TEXT NOT NULL,text_json TEXT,app_name TEXT NOT NULL DEFAULT "'ocr_engine TEXT NOT NULL DEFAULT 'unknown'window_name TEXT, focused BOOLEAN DEFAULT FALSE, text_length INTEGER, sync_id TEXT, synced_at DATETIME);CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);CREATE INDEX idx_ocr_text_frame_app_window ON ocr_text(frame_id, app_name, window_name);CREATE INDEX idx_ocr_text_length ON ocr_text (text_length);CREATE INDEX idx_ocr_text_sync_id ON ocr_text(sync_id) WHERE sync_id IS NOT NULL;lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $...
|
NULL
|
9096203667571956320
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp>0 lbl100% <478Thu 16 Apr 16:28:26-zshDOCKER881Last login: Thu Apr 16 15:48:11 on ttys009DEV (-zsh)882APP (-zsh)*3-zsh• $84-zsh85Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~S sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%" OR window_name LIKE "%Boostroid%"ORDER BY created_at DESC LIMIT 20;"Error: in prepare, no such column:created_atari%' OR window_name LIKE "%Boosteroid%'ORDER BY created_at DESC LIMIT 20;error here---^lukas@Lukas-Kovaliks-MacBook-Pro-Jiminnyroid%'~§ sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE "%BoostORDER BYcreated_at DESC LIMIT20;"Error: in prepare, no such column:created_atari%'OR window_name LIKE"%Boosteroid%"ORDER BY created_at DESC LIMIT 20;error herelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny~S sqlite3~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE '%Safari%' OR window_name LIKE "%Boostroid%'ORDER BYcreated_at DESC LIMIT 20;"Error: in prepare,no such column:created_atari%'OR window_name LIKE '%Boosteroid%' ORDER BY created_at DESC LIMIT 20;error here---Alukas®Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite "SELECT app_name, window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE '%Boostroid%' ORDER BY timestamp DESC LIMIT 20;"Error: in prepare, no such column: timestampari%' OR window_name LIKE '%Boosteroid%' ORDER BY timestamp DESC LIMIT 20;error here ---^lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ sqlite3 ~/.screenpipe/db.sqlite ".schema ocr_text"CREATE TABLE IF NOT EXISTS "ocr_text"frame_id INTEGER NOT NULL,text TEXT NOT NULL,text_json TEXT,app_name TEXT NOT NULL DEFAULT "'ocr_engine TEXT NOT NULL DEFAULT 'unknown'window_name TEXT, focused BOOLEAN DEFAULT FALSE, text_length INTEGER, sync_id TEXT, synced_at DATETIME);CREATE INDEX idx_ocr_text_frame_id ON ocr_text(frame_id);CREATE INDEX idx_ocr_text_frame_app_window ON ocr_text(frame_id, app_name, window_name);CREATE INDEX idx_ocr_text_length ON ocr_text (text_length);CREATE INDEX idx_ocr_text_sync_id ON ocr_text(sync_id) WHERE sync_id IS NOT NULL;lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $...
|
NULL
|
|
73570
|
1816
|
1
|
2026-04-23T07:57:09.623112+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-23/1776 /Users/lukas/.screenpipe/data/data/2026-04-23/1776931029623_m1.jpg...
|
iTerm2
|
DOCKER (docker-compose)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
tches=15 > '/proc/1/fd/1' 2>&1 ; tches=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-22 15:43:11 Running ['artisan' calendar:sync --dateMode=daily] 2026-04-22 15:43:19 Jiminny\Jobs\Calendar\SyncCalendarEvents ....... RUNNING
docker_lamp_1 | 2026-04-22 15:43:20 Jiminny\Jobs\Calendar\SyncCalendarEvents ....... 1s DONE
docker_lamp_1 | 2026-04-22 15:43:22 Jiminny\Jobs\Calendar\SyncCalendarEvents ....... RUNNING
docker_lamp_1 | 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' calendar:sync --dateMode=daily > '/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-22 15:43:23 Jiminny\Jobs\Calendar\SyncCalendarEvents . 596.48ms DONE
docker_lamp_1 | 2026-04-22 15:43:23 Jiminny\Jobs\Calendar\SyncCalendarEvents ....... RUNNING
docker_lamp_1 | 2026-04-22 15:43:23 Jiminny\Jobs\Calendar\SyncCalendarEvents .. 52.11ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-22 15:44:02 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-22 15:44: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-22 15:44: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-22 15:44: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-22 15:44:09 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-22 15:44:11 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-22 15:44:13 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-22 15:14: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-22 15:14: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-22 15:14:26 (delay: 14s)
docker_lamp_1 | [PASSWORD_DOTS] 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/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-22 15:44:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 49.60ms DONE
docker_lamp_1 | 2026-04-22 15:44:15 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:16 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 601.82ms DONE
docker_lamp_1 | 2026-04-22 15:44:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 24.34ms DONE
docker_lamp_1 | 2026-04-22 15:44:19 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-22 15:44:20 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:21 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 557.11ms DONE
docker_lamp_1 | 2026-04-22 15:44:21 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:21 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 58.10ms DONE
docker_lamp_1 | 2026-04-22 15:44:23 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:24 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-22 15:44:25 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:26 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 787.71ms DONE
docker_lamp_1 | 2026-04-22 15:44:26 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:26 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 18.07ms DONE
docker_lamp_1 | 2026-04-22 15:44:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 19.18ms DONE
docker_lamp_1 | 2026-04-22 15:44:29 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:33 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 3s DONE
docker_lamp_1 | 2026-04-22 15:44:33 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:34 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 848.26ms DONE
docker_lamp_1 | 2026-04-22 15:44:35 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:35 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 431.28ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-22 15:45: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-22 15:45:03 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-22 15:45:06 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-22 15:45: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-22 15:45:10 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-22 15:45:12 Running ['artisan' activity:purge-stale] ....... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-22 15:45: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-22 15:45:17 Running ['artisan' conference:pre-meeting-notification] 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-22 15:45:19 Running ['artisan' conference:monitor:start] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 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
redis | 1:C 23 Apr 2026 07:55:51.731 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis | 1:C 23 Apr 2026 07:55:51.731 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started
redis | 1:C 23 Apr 2026 07:55:51.731 # Configuration loaded
mariadb-1 | 2026-04-23 07:55:51+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.
redis | 1:M 23 Apr 2026 07:55:51.741 * Running mode=standalone, port=6379.
redis | 1:M 23 Apr 2026 07:55:51.741 # Server initialized
redis | 1:M 23 Apr 2026 07:55:51.741 # 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 23 Apr 2026 07:55:51.744 * Reading RDB preamble from AOF file...
redis | 1:M 23 Apr 2026 07:55:51.745 * Reading the remaining AOF tail...
blackfire-1 | [2026-04-23T07:55:51Z] 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="[URL_WITH_CREDENTIALS] controller (64 bit): Version 7.10.2 (Build 40a3af639d4698) Copyright (c) 2020 Elasticsearch BV" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:08,335Z", "level": "INFO", "component": "o.e.t.NettyAllocator", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "creating NettyAllocator with the following configs: [name=unpooled, suggested_max_allocation_size=256kb, factors={es.unsafe.use_unpooled_allocator=null, g1gc_enabled=true, g1gc_region_size=1mb, heap_size=700mb}]" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:08,444Z", "level": "INFO", "component": "o.e.d.DiscoveryModule", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "using discovery type [single-node] and seed hosts providers [settings]" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:08,962Z", "level": "WARN", "component": "o.e.g.DanglingIndicesState", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "gateway.auto_import_dangling_indices is disabled, dangling indices will not be automatically detected or imported and must be managed manually" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,262Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "initialized" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,263Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "starting ..." }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,430Z", "level": "INFO", "component": "o.e.t.TransportService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "publish_address {[IP_ADDRESS]:9300}, bound_addresses {[::]:9300}" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,769Z", "level": "INFO", "component": "o.e.c.c.Coordinator", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "cluster UUID [8uh2w1CUSGyWYR_OvaKx6g]" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,886Z", "level": "INFO", "component": "o.e.c.s.MasterService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "elected-as-master ([1] nodes joined)[{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{[IP_ADDRESS]}{[IP_ADDRESS]:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20} elect leader, _BECOME_MASTER_TASK_, _FINISH_ELECTION_], term: 229, version: 8527, delta: master node changed {previous [], current [{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{[IP_ADDRESS]}{[IP_ADDRESS]:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,973Z", "level": "INFO", "component": "o.e.c.s.ClusterApplierService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "master node changed {previous [], current [{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{[IP_ADDRESS]}{[IP_ADDRESS]:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}, term: 229, version: 8527, reason: Publication{term=229, version=8527}" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:10,019Z", "level": "INFO", "component": "o.e.h.AbstractHttpServerTransport", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "publish_address {[IP_ADDRESS]:9200}, bound_addresses {[::]:9200}", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:10,020Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "started", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:10,388Z", "level": "INFO", "component": "o.e.l.LicenseService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "license [85e882e5-5714-4173-a5dd-9baa841494a0] mode [basic] - valid", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:10,396Z", "level": "INFO", "component": "o.e.g.GatewayService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "recovered [15] indices into cluster_state", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
redis | 1:M 23 Apr 2026 07:56:12.207 * DB loaded from append only file: 20.465 seconds
redis | 1:M 23 Apr 2026 07:56:12.208 * Ready to accept connections
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:12,454Z", "level": "INFO", "component": "o.e.c.r.a.AllocationService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[activities][2]]]).", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:26Z","tags":["info","plugins-service"],"pid":7,"message":"Plugin \"visTypeXy\" is disabled."}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:26Z","tags":["info","plugins-service"],"pid":7,"message":"Plugin \"auditTrail\" is disabled."}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:26Z","tags":["warning","config","deprecation"],"pid":7,"message":"Config key [monitoring.cluster_alerts.email_notifications.email_address] will be required for email notifications to work in 8.0.\""}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:26Z","tags":["info","plugins-system"],"pid":7,"message":"Setting up [96] plugins: [taskManager,licensing,globalSearch,globalSearchProviders,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetry,telemetryCollectionXpack,kibanaUsageCollection,securityOss,newsfeed,mapsLegacy,kibanaLegacy,translations,share,legacyExport,embeddable,uiActionsEnhanced,expressions,data,home,observability,cloud,console,consoleExtensions,apmOss,searchprofiler,painlessLab,grokdebugger,management,indexPatternManagement,advancedSettings,fileUpload,savedObjects,dashboard,visualizations,visTypeTable,visTypeVega,visTypeTimelion,timelion,features,upgradeAssistant,security,snapshotRestore,enterpriseSearch,encryptedSavedObjects,ingestManager,indexManagement,remoteClusters,crossClusterReplication,indexLifecycleManagement,dashboardMode,beatsManagement,transform,ingestPipelines,maps,licenseManagement,graph,dataEnhanced,visTypeMarkdown,tileMap,regionMap,inputControlVis,visualize,esUiShared,charts,lens,visTypeVislib,visTypeTimeseries,rollup,visTypeTagcloud,visTypeMetric,watcher,discover,discoverEnhanced,savedObjectsManagement,spaces,reporting,lists,eventLog,actions,case,alerts,stackAlerts,triggersActionsUi,ml,securitySolution,infra,monitoring,logstash,apm,uptime,bfetch,canvas]"}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","security","config"],"pid":7,"message":"Generating a random key for xpack.security.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in kibana.yml"}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","security","config"],"pid":7,"message":"Session cookies will be transmitted over insecure connections. This is not recommended."}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","encryptedSavedObjects","config"],"pid":7,"message":"Generating a random key for xpack.encryptedSavedObjects.encryptionKey. To be able to decrypt encrypted saved objects attributes after restart, please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml"}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","ingestManager"],"pid":7,"message":"Fleet APIs are disabled due to the Encrypted Saved Objects plugin using an ephemeral encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml."}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","reporting","config"],"pid":7,"message":"Generating a random key for xpack.reporting.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.reporting.encryptionKey in kibana.yml"}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"tches=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-22 15:43:11 Running ['artisan' calendar:sync --dateMode=daily] 2026-04-22 15:43:19 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents ....... RUNNING\ndocker_lamp_1 | 2026-04-22 15:43:20 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents ....... 1s DONE\ndocker_lamp_1 | 2026-04-22 15:43:22 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents ....... RUNNING\ndocker_lamp_1 | 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' calendar:sync --dateMode=daily > '/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-22 15:43:23 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents . 596.48ms DONE\ndocker_lamp_1 | 2026-04-22 15:43:23 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents ....... RUNNING\ndocker_lamp_1 | 2026-04-22 15:43:23 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents .. 52.11ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-22 15:44:02 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-22 15:44: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-22 15:44: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-22 15:44: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-22 15:44:09 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-22 15:44:11 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-22 15:44:13 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-22 15:14: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-22 15:14: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-22 15:14:26 (delay: 14s)\ndocker_lamp_1 | ........... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/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-22 15:44:15 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:15 Jiminny\\Jobs\\Crm\\SyncObjects .............. 49.60ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:15 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:16 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 601.82ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:17 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:17 Jiminny\\Jobs\\Crm\\SyncObjects .............. 24.34ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:19 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:20 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-22 15:44:20 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:21 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 557.11ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:21 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:21 Jiminny\\Jobs\\Crm\\SyncObjects .............. 58.10ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:23 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:24 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-22 15:44:25 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:26 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 787.71ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:26 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:26 Jiminny\\Jobs\\Crm\\SyncObjects .............. 18.07ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:27 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:27 Jiminny\\Jobs\\Crm\\SyncObjects .............. 19.18ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:29 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:33 Jiminny\\Jobs\\Crm\\SyncObjects ................... 3s DONE\ndocker_lamp_1 | 2026-04-22 15:44:33 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:34 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 848.26ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:35 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:35 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 431.28ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-22 15:45: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-22 15:45:03 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-22 15:45:06 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-22 15:45: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-22 15:45:10 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-22 15:45:12 Running ['artisan' activity:purge-stale] ....... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-22 15:45: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-22 15:45:17 Running ['artisan' conference:pre-meeting-notification] 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-22 15:45:19 Running ['artisan' conference:monitor:start] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 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\nredis | 1:C 23 Apr 2026 07:55:51.731 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo\nredis | 1:C 23 Apr 2026 07:55:51.731 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started\nredis | 1:C 23 Apr 2026 07:55:51.731 # Configuration loaded\nmariadb-1 | 2026-04-23 07:55:51+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nredis | 1:M 23 Apr 2026 07:55:51.741 * Running mode=standalone, port=6379.\nredis | 1:M 23 Apr 2026 07:55:51.741 # Server initialized\nredis | 1:M 23 Apr 2026 07:55:51.741 # 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 23 Apr 2026 07:55:51.744 * Reading RDB preamble from AOF file...\nredis | 1:M 23 Apr 2026 07:55:51.745 * Reading the remaining AOF tail...\nblackfire-1 | [2026-04-23T07:55:51Z] 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-23T07:55:52+0000 lvl=info msg=\"no configuration paths supplied\"\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"using configuration at default config path\" path=/home/ngrok/.ngrok2/ngrok.yml\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"open config file\" path=/home/ngrok/.ngrok2/ngrok.yml err=nil\nblackfire-1 exited with code 1\njiminny_ext-1 exited with code 0\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"starting web service\" obj=web addr=0.0.0.0:4040\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-23 07:55:52+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB\nmariadb-1 | 2026-04-23 07:55:52+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'\nmariadb-1 | 2026-04-23 07:55:52+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\ndatadog-1 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"tunnel session started\" obj=tunnels.session\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"client session established\" obj=csess id=1c8f9eb905ac\nmariadb-1 | 2026-04-23 07:55:53+00:00 [Note] [Entrypoint]: MariaDB upgrade information missing, assuming required\nmariadb-1 | 2026-04-23 07:55:53+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-23 7:55:53 0 [Note] Starting MariaDB 11.4.5-MariaDB-ubu2404 source revision 0771110266ff5c04216af4bf1243c65f8c67ccf4 server_uid zs02SyAxkg7epm72pZgde8TQHsk= as process 1\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Compressed tables use zlib 1.3\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Number of transaction pools: 1\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Using liburing\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB\nngrok | t=2026-04-23T07:55:53+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-23T07:55:53+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=command_line addr=http://lamp:3080 url=https://lukask.ngrok.io\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Completed initialization of buffer pool\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: End of log at LSN=7618260638\ndocker_lamp_1 | + configure_blackfire\ndocker_lamp_1 | + j2 /root/.j2_templates/blackfire/extension.ini.j2\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Opened 3 undo tablespaces\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: log sequence number 7618260638; transaction id 11490938\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] Plugin 'FEEDBACK' is disabled.\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] Plugin 'wsrep-provider' is disabled.\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool\ndocker_lamp_1 | + j2 /root/.j2_templates/blackfire/cli.ini.j2\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Buffer pool(s) load completed at 260423 7:55:53\nngrok | t=2026-04-23T07:55:53+0000 lvl=info msg=\"update available\" obj=updater\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\ndatadog-1 | [s6-init] ensuring user provided files have correct perms...exited 0.\ndocker_lamp_1 | + DB_ADMIN_PASSWORD='dgyt$rTe21-d'\ndocker_lamp_1 | ++ jq -r .DB_ADMIN_USERNAME /home/jiminny/dev.json\ndatadog-1 | [fix-attrs.d] applying ownership & permissions fixes...\ndocker_lamp_1 | + DB_ADMIN_USERNAME=jmnyadmin\ndocker_lamp_1 | ++ jq -r .DB_DEV_PASSWORD /home/jiminny/dev.json\ndatadog-1 | [fix-attrs.d] done.\ndocker_lamp_1 | + DB_DEV_PASSWORD=rTr4sdQA65-Ad\n\n\ndatadog-1 | [cont-init.d] executing container initialization scripts...\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 | [cont-init.d] 01-check-apikey.sh: executing... \ndocker_lamp_1 | + DB_ROOT_PASSWORD=b7h5-1fH3e54J\ndocker_lamp_1 | ++ jq -r .DB_ROOT_USERNAME /home/jiminny/dev.json\ndocker_lamp_1 | + DB_ROOT_USERNAME=root\ndocker_lamp_1 | ++ jq -r .DB_WEB_PASSWORD /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 | \ndatadog-1 | [cont-init.d] 01-check-apikey.sh: exited 1.\ndocker_lamp_1 | + DB_WEB_PASSWORD=aR5-EWf23b8da\ndocker_lamp_1 | ++ jq -r .DB_WEB_USERNAME /home/jiminny/dev.json\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\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-23 7:55:54 0 [Note] Server socket created on IP: '0.0.0.0'.\nmariadb-1 | 2026-04-23 7:55:54 0 [Note] Server socket created on IP: '::'.\nmariadb-1 | 2026-04-23 7:55:54 0 [Note] mariadbd: Event Scheduler: Loaded 0 events\nmariadb-1 | 2026-04-23 7:55:54 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\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:56,514Z\", \"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-23T07:55:56,517Z\", \"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-23T07:55:56,518Z\", \"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-10124985765930456581, -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]\" }\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 | Nothing to install, update or remove\ndocker_lamp_1 | Package doctrine/annotations is abandoned, you should avoid using it. No replacement was suggested.\ndocker_lamp_1 | Package symfony/debug is abandoned, you should avoid using it. Use symfony/error-handler instead.\ndocker_lamp_1 | Generating optimized autoload files\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,062Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [aggs-matrix-stats]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,062Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [analysis-common]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [constant-keyword]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [flattened]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [frozen-indices]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [ingest-common]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [ingest-geoip]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [ingest-user-agent]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [kibana]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,064Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [lang-expression]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,064Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [lang-mustache]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [lang-painless]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [mapper-extras]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [mapper-version]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [parent-join]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [percolator]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [rank-eval]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [reindex]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [repositories-metering-api]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [repository-url]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [search-business-rules]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [searchable-snapshots]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [spatial]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [transform]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [transport-netty4]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [unsigned-long]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [vectors]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [wildcard]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-analytics]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-async]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-async-search]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-autoscaling]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-ccr]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-core]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-data-streams]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-deprecation]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-enrich]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-eql]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-graph]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-identity-provider]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-ilm]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-logstash]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-ml]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-monitoring]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-ql]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-rollup]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-security]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-sql]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,068Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-stack]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,068Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-voting-only-node]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,068Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-watcher]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,068Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"no plugins loaded\" }\nelasticsearch | {\"type\": \"deprecation\", \"timestamp\": \"2026-04-23T07:55:59,122Z\", \"level\": \"DEPRECATION\", \"component\": \"o.e.d.c.s.Settings\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"[node.data] setting was deprecated in Elasticsearch and will be removed in a future release! See the breaking changes documentation for the next major version.\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,139Z\", \"level\": \"INFO\", \"component\": \"o.e.e.NodeEnvironment\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/vda1)]], net usable_space [14.5gb], net total_space [58.3gb], types [ext4]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,139Z\", \"level\": \"INFO\", \"component\": \"o.e.e.NodeEnvironment\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"heap size [700mb], compressed ordinary object pointers [true]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,263Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"node name [e802ad473a4f], node ID [e2ZKzgw4Q4aCf2w5ljWr1A], cluster name [docker-cluster], roles [transform, master, remote_cluster_client, data, ml, data_content, data_hot, data_warm, data_cold, ingest]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:06,887Z\", \"level\": \"INFO\", \"component\": \"o.e.x.m.p.l.CppLogMessageHandler\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"[controller/214] [Main.cc@114] controller (64 bit): Version 7.10.2 (Build 40a3af639d4698) Copyright (c) 2020 Elasticsearch BV\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:08,335Z\", \"level\": \"INFO\", \"component\": \"o.e.t.NettyAllocator\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"creating NettyAllocator with the following configs: [name=unpooled, suggested_max_allocation_size=256kb, factors={es.unsafe.use_unpooled_allocator=null, g1gc_enabled=true, g1gc_region_size=1mb, heap_size=700mb}]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:08,444Z\", \"level\": \"INFO\", \"component\": \"o.e.d.DiscoveryModule\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"using discovery type [single-node] and seed hosts providers [settings]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:08,962Z\", \"level\": \"WARN\", \"component\": \"o.e.g.DanglingIndicesState\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"gateway.auto_import_dangling_indices is disabled, dangling indices will not be automatically detected or imported and must be managed manually\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,262Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"initialized\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,263Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"starting ...\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,430Z\", \"level\": \"INFO\", \"component\": \"o.e.t.TransportService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"publish_address {172.18.0.2:9300}, bound_addresses {[::]:9300}\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,769Z\", \"level\": \"INFO\", \"component\": \"o.e.c.c.Coordinator\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"cluster UUID [8uh2w1CUSGyWYR_OvaKx6g]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,886Z\", \"level\": \"INFO\", \"component\": \"o.e.c.s.MasterService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"elected-as-master ([1] nodes joined)[{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{172.18.0.2}{172.18.0.2:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20} elect leader, _BECOME_MASTER_TASK_, _FINISH_ELECTION_], term: 229, version: 8527, delta: master node changed {previous [], current [{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{172.18.0.2}{172.18.0.2:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,973Z\", \"level\": \"INFO\", \"component\": \"o.e.c.s.ClusterApplierService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"master node changed {previous [], current [{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{172.18.0.2}{172.18.0.2:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}, term: 229, version: 8527, reason: Publication{term=229, version=8527}\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:10,019Z\", \"level\": \"INFO\", \"component\": \"o.e.h.AbstractHttpServerTransport\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"publish_address {172.18.0.2:9200}, bound_addresses {[::]:9200}\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:10,020Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"started\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:10,388Z\", \"level\": \"INFO\", \"component\": \"o.e.l.LicenseService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"license [85e882e5-5714-4173-a5dd-9baa841494a0] mode [basic] - valid\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:10,396Z\", \"level\": \"INFO\", \"component\": \"o.e.g.GatewayService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"recovered [15] indices into cluster_state\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nredis | 1:M 23 Apr 2026 07:56:12.207 * DB loaded from append only file: 20.465 seconds\nredis | 1:M 23 Apr 2026 07:56:12.208 * Ready to accept connections\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:12,454Z\", \"level\": \"INFO\", \"component\": \"o.e.c.r.a.AllocationService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[activities][2]]]).\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:26Z\",\"tags\":[\"info\",\"plugins-service\"],\"pid\":7,\"message\":\"Plugin \\\"visTypeXy\\\" is disabled.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:26Z\",\"tags\":[\"info\",\"plugins-service\"],\"pid\":7,\"message\":\"Plugin \\\"auditTrail\\\" is disabled.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:26Z\",\"tags\":[\"warning\",\"config\",\"deprecation\"],\"pid\":7,\"message\":\"Config key [monitoring.cluster_alerts.email_notifications.email_address] will be required for email notifications to work in 8.0.\\\"\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:26Z\",\"tags\":[\"info\",\"plugins-system\"],\"pid\":7,\"message\":\"Setting up [96] plugins: [taskManager,licensing,globalSearch,globalSearchProviders,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetry,telemetryCollectionXpack,kibanaUsageCollection,securityOss,newsfeed,mapsLegacy,kibanaLegacy,translations,share,legacyExport,embeddable,uiActionsEnhanced,expressions,data,home,observability,cloud,console,consoleExtensions,apmOss,searchprofiler,painlessLab,grokdebugger,management,indexPatternManagement,advancedSettings,fileUpload,savedObjects,dashboard,visualizations,visTypeTable,visTypeVega,visTypeTimelion,timelion,features,upgradeAssistant,security,snapshotRestore,enterpriseSearch,encryptedSavedObjects,ingestManager,indexManagement,remoteClusters,crossClusterReplication,indexLifecycleManagement,dashboardMode,beatsManagement,transform,ingestPipelines,maps,licenseManagement,graph,dataEnhanced,visTypeMarkdown,tileMap,regionMap,inputControlVis,visualize,esUiShared,charts,lens,visTypeVislib,visTypeTimeseries,rollup,visTypeTagcloud,visTypeMetric,watcher,discover,discoverEnhanced,savedObjectsManagement,spaces,reporting,lists,eventLog,actions,case,alerts,stackAlerts,triggersActionsUi,ml,securitySolution,infra,monitoring,logstash,apm,uptime,bfetch,canvas]\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"security\",\"config\"],\"pid\":7,\"message\":\"Generating a random key for xpack.security.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in kibana.yml\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"security\",\"config\"],\"pid\":7,\"message\":\"Session cookies will be transmitted over insecure connections. This is not recommended.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"encryptedSavedObjects\",\"config\"],\"pid\":7,\"message\":\"Generating a random key for xpack.encryptedSavedObjects.encryptionKey. To be able to decrypt encrypted saved objects attributes after restart, please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"ingestManager\"],\"pid\":7,\"message\":\"Fleet APIs are disabled due to the Encrypted Saved Objects plugin using an ephemeral encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"reporting\",\"config\"],\"pid\":7,\"message\":\"Generating a random key for xpack.reporting.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.reporting.encryptionKey in kibana.yml\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"reporting\",\"config\"],\"pid\":7,\"message\":\"Found 'server.host: \\\"0\\\"' in Kibana configuration. This is incompatible with Reporting. To enable Reporting to work, 'xpack.reporting.kibanaServer.hostname: 0.0.0.0' is being automatically to the configuration. You can change the setting to 'server.host: 0.0.0.0' or add 'xpack.reporting.kibanaServer.hostname: 0.0.0.0' in kibana.yml to prevent this message.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"reporting\",\"config\"],\"pid\":7,\"message\":\"Chromium sandbox provides an additional layer of protection, but is not supported for Linux CentOS 8.3.2011\\n OS. Automatically setting 'xpack.reporting.capture.browser.chromium.disableSandbox: true'.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"actions\",\"actions\"],\"pid\":7,\"message\":\"APIs are disabled due to the Encrypted Saved Objects plugin using an ephemeral encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"alerts\",\"plugins\",\"alerting\"],\"pid\":7,\"message\":\"APIs are disabled due to the Encrypted Saved Objects plugin using an ephemeral encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"info\",\"plugins\",\"monitoring\",\"monitoring\"],\"pid\":7,\"message\":\"config sourced from: production cluster\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"info\",\"savedobjects-service\"],\"pid\":7,\"message\":\"Waiting until all Elasticsearch nodes are compatible with Kibana before starting saved objects migrations...\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"savedobjects-service\"],\"pid\":7,\"message\":\"Starting saved objects migrations\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins-system\"],\"pid\":7,\"message\":\"Starting [96] plugins: [taskManager,licensing,globalSearch,globalSearchProviders,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetry,telemetryCollectionXpack,kibanaUsageCollection,securityOss,newsfeed,mapsLegacy,kibanaLegacy,translations,share,legacyExport,embeddable,uiActionsEnhanced,expressions,data,home,observability,cloud,console,consoleExtensions,apmOss,searchprofiler,painlessLab,grokdebugger,management,indexPatternManagement,advancedSettings,fileUpload,savedObjects,dashboard,visualizations,visTypeTable,visTypeVega,visTypeTimelion,timelion,features,upgradeAssistant,security,snapshotRestore,enterpriseSearch,encryptedSavedObjects,ingestManager,indexManagement,remoteClusters,crossClusterReplication,indexLifecycleManagement,dashboardMode,beatsManagement,transform,ingestPipelines,maps,licenseManagement,graph,dataEnhanced,visTypeMarkdown,tileMap,regionMap,inputControlVis,visualize,esUiShared,charts,lens,visTypeVislib,visTypeTimeseries,rollup,visTypeTagcloud,visTypeMetric,watcher,discover,discoverEnhanced,savedObjectsManagement,spaces,reporting,lists,eventLog,actions,case,alerts,stackAlerts,triggersActionsUi,ml,securitySolution,infra,monitoring,logstash,apm,uptime,bfetch,canvas]\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins\",\"taskManager\",\"taskManager\"],\"pid\":7,\"message\":\"TaskManager is identified by the Kibana UUID: bf01f365-e094-4cde-940d-3e0db65fa22a\"}\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:28,778Z\", \"level\": \"INFO\", \"component\": \"o.e.c.m.MetadataIndexTemplateService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"adding template [.management-beats] for index patterns [.management-beats]\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins\",\"crossClusterReplication\"],\"pid\":7,\"message\":\"Your basic license does not support crossClusterReplication. Please upgrade your license.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins\",\"watcher\"],\"pid\":7,\"message\":\"Your basic license does not support watcher. Please upgrade your license.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins\",\"monitoring\",\"monitoring\",\"kibana-monitoring\"],\"pid\":7,\"message\":\"Starting monitoring stats collection\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:Lens-lens_telemetry]: version conflict, document already exists (current version [745])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:Actions-actions_telemetry]: version conflict, document already exists (current version [745])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:endpoint:user-artifact-packager:1.0.0]: version conflict, document already exists (current version [310913])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:Alerting-alerting_telemetry]: version conflict, document already exists (current version [745])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:apm-telemetry-task]: version conflict, document already exists (current version [1222])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"listening\",\"info\"],\"pid\":7,\"message\":\"Server running at http://0:5601\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:31Z\",\"tags\":[\"info\",\"http\",\"server\",\"Kibana\"],\"pid\":7,\"message\":\"http server running at http://0:5601\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:32Z\",\"tags\":[\"warning\",\"plugins\",\"reporting\"],\"pid\":7,\"message\":\"Enabling the Chromium sandbox provides an additional layer of protection.\"}\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"Microsoft\\Graph\\Generated\\Models\\AudioConferencing\" was found in both \"/home/jiminny/app/Services/MeetingGenerator/Overrides/Microsoft/Graph/Generated/Models/AudioConferencing.php\" and \"/home/jiminny/vendor/microsoft/microsoft-graph/src/Generated/Models/AudioConferencing.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\AwsS3V3\\AwsS3V3Adapter\" was found in both \"/home/jiminny/vendor/league/flysystem-aws-s3-v3/AwsS3V3Adapter.php\" and \"/home/jiminny/vendor/league/flysystem/src/AwsS3V3/AwsS3V3Adapter.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\AwsS3V3\\PortableVisibilityConverter\" was found in both \"/home/jiminny/vendor/league/flysystem-aws-s3-v3/PortableVisibilityConverter.php\" and \"/home/jiminny/vendor/league/flysystem/src/AwsS3V3/PortableVisibilityConverter.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\AwsS3V3\\VisibilityConverter\" was found in both \"/home/jiminny/vendor/league/flysystem-aws-s3-v3/VisibilityConverter.php\" and \"/home/jiminny/vendor/league/flysystem/src/AwsS3V3/VisibilityConverter.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\Local\\LocalFilesystemAdapter\" was found in both \"/home/jiminny/vendor/league/flysystem-local/LocalFilesystemAdapter.php\" and \"/home/jiminny/vendor/league/flysystem/src/Local/LocalFilesystemAdapter.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\Local\\FallbackMimeTypeDetector\" was found in both \"/home/jiminny/vendor/league/flysystem-local/FallbackMimeTypeDetector.php\" and \"/home/jiminny/vendor/league/flysystem/src/Local/FallbackMimeTypeDetector.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\Local\\LocalFilesystemAdapterTest\" was found in both \"/home/jiminny/vendor/league/flysystem-local/LocalFilesystemAdapterTest.php\" and \"/home/jiminny/vendor/league/flysystem/src/Local/LocalFilesystemAdapterTest.php\", the first will be used.\ndocker_lamp_1 | Class Tests\\Unit\\Http\\Controllers\\API\\V2\\OnDemandV2ControllerTest located in ./tests/Unit/Http/Controllers/Api/V2/OnDemandV2ControllerTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | Class Tests\\Unit\\Notifications\\PostmarkChannelTest located in ./tests/Feature/Notifications/PostmarkChannelTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | Class Tests\\Unit\\Http\\Controllers\\API\\V2\\OnDemandV2ControllerTest located in ./tests/Unit/Http/Controllers/Api/V2/OnDemandV2ControllerTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | Class Tests\\Unit\\Notifications\\PostmarkChannelTest located in ./tests/Feature/Notifications/PostmarkChannelTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | Class RingCentral\\SDK\\WebSocket\\WebSocketSubscriptionTest located in ./vendor/ringcentral/ringcentral-php/src/WebSocket/SubscriptionTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | > Illuminate\\Foundation\\ComposerScripts::postAutoloadDump\ndocker_lamp_1 | > @php artisan package:discover --ansi\ndocker_lamp_1 | \ndocker_lamp_1 | INFO Discovering packages. \ndocker_lamp_1 | \ndocker_lamp_1 | 24slides/laravel-saml2 ................................................ DONE\ndocker_lamp_1 | aws/aws-sdk-php-laravel ............................................... DONE\ndocker_lamp_1 | barryvdh/laravel-debugbar ............................................. DONE\ndocker_lamp_1 | barryvdh/laravel-ide-helper ........................................... DONE\ndocker_lamp_1 | bepsvpt/secure-headers ................................................ DONE\ndocker_lamp_1 | chaseconey/laravel-datadog-helper ..................................... DONE\ndocker_lamp_1 | devio/pipedrive ....................................................... DONE\ndocker_lamp_1 | jasonmccreary/laravel-test-assertions ................................. DONE\ndocker_lamp_1 | jdavidbakr/cloudfront-proxies ......................................... DONE\ndocker_lamp_1 | kalnoy/nestedset ...................................................... DONE\ndocker_lamp_1 | laravel/passport ...................................................... DONE\ndocker_lamp_1 | laravel/slack-notification-channel .................................... DONE\ndocker_lamp_1 | laravel/tinker ........................................................ DONE\ndocker_lamp_1 | laravel/ui ............................................................ DONE\ndocker_lamp_1 | laravolt/avatar ....................................................... DONE\ndocker_lamp_1 | league/statsd ......................................................... DONE\ndocker_lamp_1 | nesbot/carbon ......................................................... DONE\ndocker_lamp_1 | nunomaduro/collision .................................................. DONE\ndocker_lamp_1 | nunomaduro/termwind ................................................... DONE\ndocker_lamp_1 | propaganistas/laravel-phone ........................................... DONE\ndocker_lamp_1 | santigarcor/laratrust ................................................. DONE\ndocker_lamp_1 | sentry/sentry-laravel ................................................. DONE\ndocker_lamp_1 | shiftonelabs/laravel-sqs-fifo-queue ................................... DONE\ndocker_lamp_1 | spatie/laravel-fractal ................................................ DONE\ndocker_lamp_1 | spatie/laravel-ignition ............................................... DONE\ndocker_lamp_1 | spatie/laravel-webhook-server ......................................... DONE\ndocker_lamp_1 | staudenmeir/belongs-to-through ........................................ DONE\ndocker_lamp_1 | vinkla/hashids ........................................................ DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 182 packages you are using are looking for funding.\ndocker_lamp_1 | Use the `composer fund` command to find out more!\ndocker_lamp_1 | infection/extension-installer: No extensions found\ndocker_lamp_1 | > Illuminate\\Foundation\\ComposerScripts::postInstall\ndocker_lamp_1 | + /home/jiminny/scripts/migrate.sh\ndocker_lamp_1 | \ndocker_lamp_1 | INFO Nothing to migrate. \ndocker_lamp_1 | \ndocker_lamp_1 | \ndocker_lamp_1 | INFO Configuration cached successfully. \ndocker_lamp_1 | \ndocker_lamp_1 | cp: cannot stat '/home/jiminny/bootstrap/cache/config-new.php': No such file or directory\ndocker_lamp_1 | + mv /home/jiminny/.env.local.bak /home/jiminny/.env.local\ndocker_lamp_1 | + [[ false == \\f\\a\\l\\s\\e ]]\ndocker_lamp_1 | + [[ 0 -eq 1 ]]\ndocker_lamp_1 | + [[ -f /home/jiminny/storage/oauth-private.key ]]\ndocker_lamp_1 | + [[ 0 -eq 1 ]]\ndocker_lamp_1 | + setup_local_environment\ndocker_lamp_1 | + storage_permissions_workaround\ndocker_lamp_1 | + [[ false != \\t\\r\\u\\e ]]\ndocker_lamp_1 | + ln -sf /home/jiminny/storage /home/jiminny/jiminny_storage\ndocker_lamp_1 | + return\ndocker_lamp_1 | + chmod 660 /home/jiminny/storage/oauth-private.key\ndocker_lamp_1 | + chmod 775 /home/jiminny/storage/framework\ndocker_lamp_1 | + chmod 775 /home/jiminny/storage/framework/views\ndocker_lamp_1 | + chmod 775 /home/jiminny/storage/framework/cache\ndocker_lamp_1 | + chmod 775 /home/jiminny/jiminny_storage/framework\ndocker_lamp_1 | + chmod -R 775 /home/jiminny/jiminny_storage/framework/cache\ndocker_lamp_1 | + chmod -R 775 /home/jiminny/jiminny_storage/framework/views\ndocker_lamp_1 | + find /home/jiminny/storage -maxdepth 100 -exec chmod g+w '{}' ';'\n\n\nv View in Docker Desktop o View Config w Enable Watch","depth":4,"value":"tches=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-22 15:43:11 Running ['artisan' calendar:sync --dateMode=daily] 2026-04-22 15:43:19 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents ....... RUNNING\ndocker_lamp_1 | 2026-04-22 15:43:20 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents ....... 1s DONE\ndocker_lamp_1 | 2026-04-22 15:43:22 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents ....... RUNNING\ndocker_lamp_1 | 10s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' calendar:sync --dateMode=daily > '/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-22 15:43:23 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents . 596.48ms DONE\ndocker_lamp_1 | 2026-04-22 15:43:23 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents ....... RUNNING\ndocker_lamp_1 | 2026-04-22 15:43:23 Jiminny\\Jobs\\Calendar\\SyncCalendarEvents .. 52.11ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-22 15:44:02 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-22 15:44: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-22 15:44: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-22 15:44: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-22 15:44:09 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-22 15:44:11 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-22 15:44:13 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-22 15:14: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-22 15:14: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-22 15:14:26 (delay: 14s)\ndocker_lamp_1 | ........... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/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-22 15:44:15 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:15 Jiminny\\Jobs\\Crm\\SyncObjects .............. 49.60ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:15 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:16 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 601.82ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:17 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:17 Jiminny\\Jobs\\Crm\\SyncObjects .............. 24.34ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:19 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:20 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-22 15:44:20 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:21 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 557.11ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:21 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:21 Jiminny\\Jobs\\Crm\\SyncObjects .............. 58.10ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:23 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:24 Jiminny\\Jobs\\Crm\\SyncObjects ................... 1s DONE\ndocker_lamp_1 | 2026-04-22 15:44:25 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:26 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 787.71ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:26 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:26 Jiminny\\Jobs\\Crm\\SyncObjects .............. 18.07ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:27 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:27 Jiminny\\Jobs\\Crm\\SyncObjects .............. 19.18ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:29 Jiminny\\Jobs\\Crm\\SyncObjects ................... RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:33 Jiminny\\Jobs\\Crm\\SyncObjects ................... 3s DONE\ndocker_lamp_1 | 2026-04-22 15:44:33 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:34 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 848.26ms DONE\ndocker_lamp_1 | 2026-04-22 15:44:35 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob RUNNING\ndocker_lamp_1 | 2026-04-22 15:44:35 Jiminny\\Jobs\\Crm\\Salesforce\\FetchSalesforceEntitiesJob 431.28ms DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 2026-04-22 15:45: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-22 15:45:03 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-22 15:45:06 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-22 15:45: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-22 15:45:10 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-22 15:45:12 Running ['artisan' activity:purge-stale] ....... 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-22 15:45: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-22 15:45:17 Running ['artisan' conference:pre-meeting-notification] 2s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1 \ndocker_lamp_1 | 2026-04-22 15:45:19 Running ['artisan' conference:monitor:start] ... 4s DONE\ndocker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 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\nredis | 1:C 23 Apr 2026 07:55:51.731 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo\nredis | 1:C 23 Apr 2026 07:55:51.731 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started\nredis | 1:C 23 Apr 2026 07:55:51.731 # Configuration loaded\nmariadb-1 | 2026-04-23 07:55:51+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\nredis | 1:M 23 Apr 2026 07:55:51.741 * Running mode=standalone, port=6379.\nredis | 1:M 23 Apr 2026 07:55:51.741 # Server initialized\nredis | 1:M 23 Apr 2026 07:55:51.741 # 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 23 Apr 2026 07:55:51.744 * Reading RDB preamble from AOF file...\nredis | 1:M 23 Apr 2026 07:55:51.745 * Reading the remaining AOF tail...\nblackfire-1 | [2026-04-23T07:55:51Z] 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-23T07:55:52+0000 lvl=info msg=\"no configuration paths supplied\"\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"using configuration at default config path\" path=/home/ngrok/.ngrok2/ngrok.yml\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"open config file\" path=/home/ngrok/.ngrok2/ngrok.yml err=nil\nblackfire-1 exited with code 1\njiminny_ext-1 exited with code 0\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"starting web service\" obj=web addr=0.0.0.0:4040\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-23 07:55:52+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB\nmariadb-1 | 2026-04-23 07:55:52+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'\nmariadb-1 | 2026-04-23 07:55:52+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.\ndatadog-1 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"tunnel session started\" obj=tunnels.session\nngrok | t=2026-04-23T07:55:52+0000 lvl=info msg=\"client session established\" obj=csess id=1c8f9eb905ac\nmariadb-1 | 2026-04-23 07:55:53+00:00 [Note] [Entrypoint]: MariaDB upgrade information missing, assuming required\nmariadb-1 | 2026-04-23 07:55:53+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-23 7:55:53 0 [Note] Starting MariaDB 11.4.5-MariaDB-ubu2404 source revision 0771110266ff5c04216af4bf1243c65f8c67ccf4 server_uid zs02SyAxkg7epm72pZgde8TQHsk= as process 1\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Compressed tables use zlib 1.3\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Number of transaction pools: 1\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Using liburing\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB\nngrok | t=2026-04-23T07:55:53+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-23T07:55:53+0000 lvl=info msg=\"started tunnel\" obj=tunnels name=command_line addr=http://lamp:3080 url=https://lukask.ngrok.io\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Completed initialization of buffer pool\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: End of log at LSN=7618260638\ndocker_lamp_1 | + configure_blackfire\ndocker_lamp_1 | + j2 /root/.j2_templates/blackfire/extension.ini.j2\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Opened 3 undo tablespaces\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: log sequence number 7618260638; transaction id 11490938\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] Plugin 'FEEDBACK' is disabled.\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] Plugin 'wsrep-provider' is disabled.\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool\ndocker_lamp_1 | + j2 /root/.j2_templates/blackfire/cli.ini.j2\nmariadb-1 | 2026-04-23 7:55:53 0 [Note] InnoDB: Buffer pool(s) load completed at 260423 7:55:53\nngrok | t=2026-04-23T07:55:53+0000 lvl=info msg=\"update available\" obj=updater\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\ndatadog-1 | [s6-init] ensuring user provided files have correct perms...exited 0.\ndocker_lamp_1 | + DB_ADMIN_PASSWORD='dgyt$rTe21-d'\ndocker_lamp_1 | ++ jq -r .DB_ADMIN_USERNAME /home/jiminny/dev.json\ndatadog-1 | [fix-attrs.d] applying ownership & permissions fixes...\ndocker_lamp_1 | + DB_ADMIN_USERNAME=jmnyadmin\ndocker_lamp_1 | ++ jq -r .DB_DEV_PASSWORD /home/jiminny/dev.json\ndatadog-1 | [fix-attrs.d] done.\ndocker_lamp_1 | + DB_DEV_PASSWORD=rTr4sdQA65-Ad\n\n\ndatadog-1 | [cont-init.d] executing container initialization scripts...\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 | [cont-init.d] 01-check-apikey.sh: executing... \ndocker_lamp_1 | + DB_ROOT_PASSWORD=b7h5-1fH3e54J\ndocker_lamp_1 | ++ jq -r .DB_ROOT_USERNAME /home/jiminny/dev.json\ndocker_lamp_1 | + DB_ROOT_USERNAME=root\ndocker_lamp_1 | ++ jq -r .DB_WEB_PASSWORD /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 | \ndatadog-1 | [cont-init.d] 01-check-apikey.sh: exited 1.\ndocker_lamp_1 | + DB_WEB_PASSWORD=aR5-EWf23b8da\ndocker_lamp_1 | ++ jq -r .DB_WEB_USERNAME /home/jiminny/dev.json\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\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-23 7:55:54 0 [Note] Server socket created on IP: '0.0.0.0'.\nmariadb-1 | 2026-04-23 7:55:54 0 [Note] Server socket created on IP: '::'.\nmariadb-1 | 2026-04-23 7:55:54 0 [Note] mariadbd: Event Scheduler: Loaded 0 events\nmariadb-1 | 2026-04-23 7:55:54 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\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:56,514Z\", \"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-23T07:55:56,517Z\", \"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-23T07:55:56,518Z\", \"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-10124985765930456581, -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]\" }\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 | Nothing to install, update or remove\ndocker_lamp_1 | Package doctrine/annotations is abandoned, you should avoid using it. No replacement was suggested.\ndocker_lamp_1 | Package symfony/debug is abandoned, you should avoid using it. Use symfony/error-handler instead.\ndocker_lamp_1 | Generating optimized autoload files\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,062Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [aggs-matrix-stats]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,062Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [analysis-common]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [constant-keyword]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [flattened]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [frozen-indices]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [ingest-common]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [ingest-geoip]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [ingest-user-agent]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,063Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [kibana]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,064Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [lang-expression]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,064Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [lang-mustache]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [lang-painless]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [mapper-extras]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [mapper-version]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [parent-join]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [percolator]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [rank-eval]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [reindex]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [repositories-metering-api]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [repository-url]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [search-business-rules]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,065Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [searchable-snapshots]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [spatial]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [transform]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [transport-netty4]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [unsigned-long]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [vectors]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [wildcard]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-analytics]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-async]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-async-search]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-autoscaling]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-ccr]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-core]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,066Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-data-streams]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-deprecation]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-enrich]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-eql]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-graph]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-identity-provider]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-ilm]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-logstash]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-ml]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-monitoring]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-ql]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-rollup]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-security]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,067Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-sql]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,068Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-stack]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,068Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-voting-only-node]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,068Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"loaded module [x-pack-watcher]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,068Z\", \"level\": \"INFO\", \"component\": \"o.e.p.PluginsService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"no plugins loaded\" }\nelasticsearch | {\"type\": \"deprecation\", \"timestamp\": \"2026-04-23T07:55:59,122Z\", \"level\": \"DEPRECATION\", \"component\": \"o.e.d.c.s.Settings\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"[node.data] setting was deprecated in Elasticsearch and will be removed in a future release! See the breaking changes documentation for the next major version.\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,139Z\", \"level\": \"INFO\", \"component\": \"o.e.e.NodeEnvironment\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/vda1)]], net usable_space [14.5gb], net total_space [58.3gb], types [ext4]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,139Z\", \"level\": \"INFO\", \"component\": \"o.e.e.NodeEnvironment\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"heap size [700mb], compressed ordinary object pointers [true]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:55:59,263Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"node name [e802ad473a4f], node ID [e2ZKzgw4Q4aCf2w5ljWr1A], cluster name [docker-cluster], roles [transform, master, remote_cluster_client, data, ml, data_content, data_hot, data_warm, data_cold, ingest]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:06,887Z\", \"level\": \"INFO\", \"component\": \"o.e.x.m.p.l.CppLogMessageHandler\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"[controller/214] [Main.cc@114] controller (64 bit): Version 7.10.2 (Build 40a3af639d4698) Copyright (c) 2020 Elasticsearch BV\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:08,335Z\", \"level\": \"INFO\", \"component\": \"o.e.t.NettyAllocator\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"creating NettyAllocator with the following configs: [name=unpooled, suggested_max_allocation_size=256kb, factors={es.unsafe.use_unpooled_allocator=null, g1gc_enabled=true, g1gc_region_size=1mb, heap_size=700mb}]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:08,444Z\", \"level\": \"INFO\", \"component\": \"o.e.d.DiscoveryModule\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"using discovery type [single-node] and seed hosts providers [settings]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:08,962Z\", \"level\": \"WARN\", \"component\": \"o.e.g.DanglingIndicesState\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"gateway.auto_import_dangling_indices is disabled, dangling indices will not be automatically detected or imported and must be managed manually\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,262Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"initialized\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,263Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"starting ...\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,430Z\", \"level\": \"INFO\", \"component\": \"o.e.t.TransportService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"publish_address {172.18.0.2:9300}, bound_addresses {[::]:9300}\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,769Z\", \"level\": \"INFO\", \"component\": \"o.e.c.c.Coordinator\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"cluster UUID [8uh2w1CUSGyWYR_OvaKx6g]\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,886Z\", \"level\": \"INFO\", \"component\": \"o.e.c.s.MasterService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"elected-as-master ([1] nodes joined)[{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{172.18.0.2}{172.18.0.2:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20} elect leader, _BECOME_MASTER_TASK_, _FINISH_ELECTION_], term: 229, version: 8527, delta: master node changed {previous [], current [{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{172.18.0.2}{172.18.0.2:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:09,973Z\", \"level\": \"INFO\", \"component\": \"o.e.c.s.ClusterApplierService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"master node changed {previous [], current [{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{172.18.0.2}{172.18.0.2:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}, term: 229, version: 8527, reason: Publication{term=229, version=8527}\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:10,019Z\", \"level\": \"INFO\", \"component\": \"o.e.h.AbstractHttpServerTransport\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"publish_address {172.18.0.2:9200}, bound_addresses {[::]:9200}\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:10,020Z\", \"level\": \"INFO\", \"component\": \"o.e.n.Node\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"started\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:10,388Z\", \"level\": \"INFO\", \"component\": \"o.e.l.LicenseService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"license [85e882e5-5714-4173-a5dd-9baa841494a0] mode [basic] - valid\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:10,396Z\", \"level\": \"INFO\", \"component\": \"o.e.g.GatewayService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"recovered [15] indices into cluster_state\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nredis | 1:M 23 Apr 2026 07:56:12.207 * DB loaded from append only file: 20.465 seconds\nredis | 1:M 23 Apr 2026 07:56:12.208 * Ready to accept connections\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:12,454Z\", \"level\": \"INFO\", \"component\": \"o.e.c.r.a.AllocationService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[activities][2]]]).\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:26Z\",\"tags\":[\"info\",\"plugins-service\"],\"pid\":7,\"message\":\"Plugin \\\"visTypeXy\\\" is disabled.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:26Z\",\"tags\":[\"info\",\"plugins-service\"],\"pid\":7,\"message\":\"Plugin \\\"auditTrail\\\" is disabled.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:26Z\",\"tags\":[\"warning\",\"config\",\"deprecation\"],\"pid\":7,\"message\":\"Config key [monitoring.cluster_alerts.email_notifications.email_address] will be required for email notifications to work in 8.0.\\\"\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:26Z\",\"tags\":[\"info\",\"plugins-system\"],\"pid\":7,\"message\":\"Setting up [96] plugins: [taskManager,licensing,globalSearch,globalSearchProviders,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetry,telemetryCollectionXpack,kibanaUsageCollection,securityOss,newsfeed,mapsLegacy,kibanaLegacy,translations,share,legacyExport,embeddable,uiActionsEnhanced,expressions,data,home,observability,cloud,console,consoleExtensions,apmOss,searchprofiler,painlessLab,grokdebugger,management,indexPatternManagement,advancedSettings,fileUpload,savedObjects,dashboard,visualizations,visTypeTable,visTypeVega,visTypeTimelion,timelion,features,upgradeAssistant,security,snapshotRestore,enterpriseSearch,encryptedSavedObjects,ingestManager,indexManagement,remoteClusters,crossClusterReplication,indexLifecycleManagement,dashboardMode,beatsManagement,transform,ingestPipelines,maps,licenseManagement,graph,dataEnhanced,visTypeMarkdown,tileMap,regionMap,inputControlVis,visualize,esUiShared,charts,lens,visTypeVislib,visTypeTimeseries,rollup,visTypeTagcloud,visTypeMetric,watcher,discover,discoverEnhanced,savedObjectsManagement,spaces,reporting,lists,eventLog,actions,case,alerts,stackAlerts,triggersActionsUi,ml,securitySolution,infra,monitoring,logstash,apm,uptime,bfetch,canvas]\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"security\",\"config\"],\"pid\":7,\"message\":\"Generating a random key for xpack.security.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in kibana.yml\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"security\",\"config\"],\"pid\":7,\"message\":\"Session cookies will be transmitted over insecure connections. This is not recommended.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"encryptedSavedObjects\",\"config\"],\"pid\":7,\"message\":\"Generating a random key for xpack.encryptedSavedObjects.encryptionKey. To be able to decrypt encrypted saved objects attributes after restart, please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"ingestManager\"],\"pid\":7,\"message\":\"Fleet APIs are disabled due to the Encrypted Saved Objects plugin using an ephemeral encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"reporting\",\"config\"],\"pid\":7,\"message\":\"Generating a random key for xpack.reporting.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.reporting.encryptionKey in kibana.yml\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"reporting\",\"config\"],\"pid\":7,\"message\":\"Found 'server.host: \\\"0\\\"' in Kibana configuration. This is incompatible with Reporting. To enable Reporting to work, 'xpack.reporting.kibanaServer.hostname: 0.0.0.0' is being automatically to the configuration. You can change the setting to 'server.host: 0.0.0.0' or add 'xpack.reporting.kibanaServer.hostname: 0.0.0.0' in kibana.yml to prevent this message.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"reporting\",\"config\"],\"pid\":7,\"message\":\"Chromium sandbox provides an additional layer of protection, but is not supported for Linux CentOS 8.3.2011\\n OS. Automatically setting 'xpack.reporting.capture.browser.chromium.disableSandbox: true'.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"actions\",\"actions\"],\"pid\":7,\"message\":\"APIs are disabled due to the Encrypted Saved Objects plugin using an ephemeral encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"warning\",\"plugins\",\"alerts\",\"plugins\",\"alerting\"],\"pid\":7,\"message\":\"APIs are disabled due to the Encrypted Saved Objects plugin using an ephemeral encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"info\",\"plugins\",\"monitoring\",\"monitoring\"],\"pid\":7,\"message\":\"config sourced from: production cluster\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:27Z\",\"tags\":[\"info\",\"savedobjects-service\"],\"pid\":7,\"message\":\"Waiting until all Elasticsearch nodes are compatible with Kibana before starting saved objects migrations...\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"savedobjects-service\"],\"pid\":7,\"message\":\"Starting saved objects migrations\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins-system\"],\"pid\":7,\"message\":\"Starting [96] plugins: [taskManager,licensing,globalSearch,globalSearchProviders,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetry,telemetryCollectionXpack,kibanaUsageCollection,securityOss,newsfeed,mapsLegacy,kibanaLegacy,translations,share,legacyExport,embeddable,uiActionsEnhanced,expressions,data,home,observability,cloud,console,consoleExtensions,apmOss,searchprofiler,painlessLab,grokdebugger,management,indexPatternManagement,advancedSettings,fileUpload,savedObjects,dashboard,visualizations,visTypeTable,visTypeVega,visTypeTimelion,timelion,features,upgradeAssistant,security,snapshotRestore,enterpriseSearch,encryptedSavedObjects,ingestManager,indexManagement,remoteClusters,crossClusterReplication,indexLifecycleManagement,dashboardMode,beatsManagement,transform,ingestPipelines,maps,licenseManagement,graph,dataEnhanced,visTypeMarkdown,tileMap,regionMap,inputControlVis,visualize,esUiShared,charts,lens,visTypeVislib,visTypeTimeseries,rollup,visTypeTagcloud,visTypeMetric,watcher,discover,discoverEnhanced,savedObjectsManagement,spaces,reporting,lists,eventLog,actions,case,alerts,stackAlerts,triggersActionsUi,ml,securitySolution,infra,monitoring,logstash,apm,uptime,bfetch,canvas]\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins\",\"taskManager\",\"taskManager\"],\"pid\":7,\"message\":\"TaskManager is identified by the Kibana UUID: bf01f365-e094-4cde-940d-3e0db65fa22a\"}\nelasticsearch | {\"type\": \"server\", \"timestamp\": \"2026-04-23T07:56:28,778Z\", \"level\": \"INFO\", \"component\": \"o.e.c.m.MetadataIndexTemplateService\", \"cluster.name\": \"docker-cluster\", \"node.name\": \"e802ad473a4f\", \"message\": \"adding template [.management-beats] for index patterns [.management-beats]\", \"cluster.uuid\": \"8uh2w1CUSGyWYR_OvaKx6g\", \"node.id\": \"e2ZKzgw4Q4aCf2w5ljWr1A\" }\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins\",\"crossClusterReplication\"],\"pid\":7,\"message\":\"Your basic license does not support crossClusterReplication. Please upgrade your license.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins\",\"watcher\"],\"pid\":7,\"message\":\"Your basic license does not support watcher. Please upgrade your license.\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:28Z\",\"tags\":[\"info\",\"plugins\",\"monitoring\",\"monitoring\",\"kibana-monitoring\"],\"pid\":7,\"message\":\"Starting monitoring stats collection\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:Lens-lens_telemetry]: version conflict, document already exists (current version [745])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:Actions-actions_telemetry]: version conflict, document already exists (current version [745])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:endpoint:user-artifact-packager:1.0.0]: version conflict, document already exists (current version [310913])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:Alerting-alerting_telemetry]: version conflict, document already exists (current version [745])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"error\",\"elasticsearch\",\"data\"],\"pid\":7,\"message\":\"[version_conflict_engine_exception]: [task:apm-telemetry-task]: version conflict, document already exists (current version [1222])\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:29Z\",\"tags\":[\"listening\",\"info\"],\"pid\":7,\"message\":\"Server running at http://0:5601\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:31Z\",\"tags\":[\"info\",\"http\",\"server\",\"Kibana\"],\"pid\":7,\"message\":\"http server running at http://0:5601\"}\nkibana | {\"type\":\"log\",\"@timestamp\":\"2026-04-23T07:56:32Z\",\"tags\":[\"warning\",\"plugins\",\"reporting\"],\"pid\":7,\"message\":\"Enabling the Chromium sandbox provides an additional layer of protection.\"}\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"Microsoft\\Graph\\Generated\\Models\\AudioConferencing\" was found in both \"/home/jiminny/app/Services/MeetingGenerator/Overrides/Microsoft/Graph/Generated/Models/AudioConferencing.php\" and \"/home/jiminny/vendor/microsoft/microsoft-graph/src/Generated/Models/AudioConferencing.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\AwsS3V3\\AwsS3V3Adapter\" was found in both \"/home/jiminny/vendor/league/flysystem-aws-s3-v3/AwsS3V3Adapter.php\" and \"/home/jiminny/vendor/league/flysystem/src/AwsS3V3/AwsS3V3Adapter.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\AwsS3V3\\PortableVisibilityConverter\" was found in both \"/home/jiminny/vendor/league/flysystem-aws-s3-v3/PortableVisibilityConverter.php\" and \"/home/jiminny/vendor/league/flysystem/src/AwsS3V3/PortableVisibilityConverter.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\AwsS3V3\\VisibilityConverter\" was found in both \"/home/jiminny/vendor/league/flysystem-aws-s3-v3/VisibilityConverter.php\" and \"/home/jiminny/vendor/league/flysystem/src/AwsS3V3/VisibilityConverter.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\Local\\LocalFilesystemAdapter\" was found in both \"/home/jiminny/vendor/league/flysystem-local/LocalFilesystemAdapter.php\" and \"/home/jiminny/vendor/league/flysystem/src/Local/LocalFilesystemAdapter.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\Local\\FallbackMimeTypeDetector\" was found in both \"/home/jiminny/vendor/league/flysystem-local/FallbackMimeTypeDetector.php\" and \"/home/jiminny/vendor/league/flysystem/src/Local/FallbackMimeTypeDetector.php\", the first will be used.\ndocker_lamp_1 | Warning: Ambiguous class resolution, \"League\\Flysystem\\Local\\LocalFilesystemAdapterTest\" was found in both \"/home/jiminny/vendor/league/flysystem-local/LocalFilesystemAdapterTest.php\" and \"/home/jiminny/vendor/league/flysystem/src/Local/LocalFilesystemAdapterTest.php\", the first will be used.\ndocker_lamp_1 | Class Tests\\Unit\\Http\\Controllers\\API\\V2\\OnDemandV2ControllerTest located in ./tests/Unit/Http/Controllers/Api/V2/OnDemandV2ControllerTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | Class Tests\\Unit\\Notifications\\PostmarkChannelTest located in ./tests/Feature/Notifications/PostmarkChannelTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | Class Tests\\Unit\\Http\\Controllers\\API\\V2\\OnDemandV2ControllerTest located in ./tests/Unit/Http/Controllers/Api/V2/OnDemandV2ControllerTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | Class Tests\\Unit\\Notifications\\PostmarkChannelTest located in ./tests/Feature/Notifications/PostmarkChannelTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | Class RingCentral\\SDK\\WebSocket\\WebSocketSubscriptionTest located in ./vendor/ringcentral/ringcentral-php/src/WebSocket/SubscriptionTest.php does not comply with psr-4 autoloading standard. Skipping.\ndocker_lamp_1 | > Illuminate\\Foundation\\ComposerScripts::postAutoloadDump\ndocker_lamp_1 | > @php artisan package:discover --ansi\ndocker_lamp_1 | \ndocker_lamp_1 | INFO Discovering packages. \ndocker_lamp_1 | \ndocker_lamp_1 | 24slides/laravel-saml2 ................................................ DONE\ndocker_lamp_1 | aws/aws-sdk-php-laravel ............................................... DONE\ndocker_lamp_1 | barryvdh/laravel-debugbar ............................................. DONE\ndocker_lamp_1 | barryvdh/laravel-ide-helper ........................................... DONE\ndocker_lamp_1 | bepsvpt/secure-headers ................................................ DONE\ndocker_lamp_1 | chaseconey/laravel-datadog-helper ..................................... DONE\ndocker_lamp_1 | devio/pipedrive ....................................................... DONE\ndocker_lamp_1 | jasonmccreary/laravel-test-assertions ................................. DONE\ndocker_lamp_1 | jdavidbakr/cloudfront-proxies ......................................... DONE\ndocker_lamp_1 | kalnoy/nestedset ...................................................... DONE\ndocker_lamp_1 | laravel/passport ...................................................... DONE\ndocker_lamp_1 | laravel/slack-notification-channel .................................... DONE\ndocker_lamp_1 | laravel/tinker ........................................................ DONE\ndocker_lamp_1 | laravel/ui ............................................................ DONE\ndocker_lamp_1 | laravolt/avatar ....................................................... DONE\ndocker_lamp_1 | league/statsd ......................................................... DONE\ndocker_lamp_1 | nesbot/carbon ......................................................... DONE\ndocker_lamp_1 | nunomaduro/collision .................................................. DONE\ndocker_lamp_1 | nunomaduro/termwind ................................................... DONE\ndocker_lamp_1 | propaganistas/laravel-phone ........................................... DONE\ndocker_lamp_1 | santigarcor/laratrust ................................................. DONE\ndocker_lamp_1 | sentry/sentry-laravel ................................................. DONE\ndocker_lamp_1 | shiftonelabs/laravel-sqs-fifo-queue ................................... DONE\ndocker_lamp_1 | spatie/laravel-fractal ................................................ DONE\ndocker_lamp_1 | spatie/laravel-ignition ............................................... DONE\ndocker_lamp_1 | spatie/laravel-webhook-server ......................................... DONE\ndocker_lamp_1 | staudenmeir/belongs-to-through ........................................ DONE\ndocker_lamp_1 | vinkla/hashids ........................................................ DONE\ndocker_lamp_1 | \ndocker_lamp_1 | 182 packages you are using are looking for funding.\ndocker_lamp_1 | Use the `composer fund` command to find out more!\ndocker_lamp_1 | infection/extension-installer: No extensions found\ndocker_lamp_1 | > Illuminate\\Foundation\\ComposerScripts::postInstall\ndocker_lamp_1 | + /home/jiminny/scripts/migrate.sh\ndocker_lamp_1 | \ndocker_lamp_1 | INFO Nothing to migrate. \ndocker_lamp_1 | \ndocker_lamp_1 | \ndocker_lamp_1 | INFO Configuration cached successfully. \ndocker_lamp_1 | \ndocker_lamp_1 | cp: cannot stat '/home/jiminny/bootstrap/cache/config-new.php': No such file or directory\ndocker_lamp_1 | + mv /home/jiminny/.env.local.bak /home/jiminny/.env.local\ndocker_lamp_1 | + [[ false == \\f\\a\\l\\s\\e ]]\ndocker_lamp_1 | + [[ 0 -eq 1 ]]\ndocker_lamp_1 | + [[ -f /home/jiminny/storage/oauth-private.key ]]\ndocker_lamp_1 | + [[ 0 -eq 1 ]]\ndocker_lamp_1 | + setup_local_environment\ndocker_lamp_1 | + storage_permissions_workaround\ndocker_lamp_1 | + [[ false != \\t\\r\\u\\e ]]\ndocker_lamp_1 | + ln -sf /home/jiminny/storage /home/jiminny/jiminny_storage\ndocker_lamp_1 | + return\ndocker_lamp_1 | + chmod 660 /home/jiminny/storage/oauth-private.key\ndocker_lamp_1 | + chmod 775 /home/jiminny/storage/framework\ndocker_lamp_1 | + chmod 775 /home/jiminny/storage/framework/views\ndocker_lamp_1 | + chmod 775 /home/jiminny/storage/framework/cache\ndocker_lamp_1 | + chmod 775 /home/jiminny/jiminny_storage/framework\ndocker_lamp_1 | + chmod -R 775 /home/jiminny/jiminny_storage/framework/cache\ndocker_lamp_1 | + chmod -R 775 /home/jiminny/jiminny_storage/framework/views\ndocker_lamp_1 | + find /home/jiminny/storage -maxdepth 100 -exec chmod g+w '{}' ';'\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:~$ client_loop: send disconnect: Broken pipe\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 Wed Apr 22 08:09:37 UTC 2026\n\n System load: 0.0 Processes: 158\n Usage of /: 58.7% of 7.57GB Users logged in: 7\n Memory usage: 41% 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: Tue Apr 21 06:17:09 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$ client_loop: send disconnect: Broken pipe\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 Wed Apr 22 12:09:08 UTC 2026\n\n System load: 0.0 Processes: 168\n Usage of /: 58.8% of 7.57GB Users logged in: 7\n Memory usage: 43% 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: Wed Apr 22 08:09:38 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","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:~$ client_loop: send disconnect: Broken pipe\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 Wed Apr 22 08:09:37 UTC 2026\n\n System load: 0.0 Processes: 158\n Usage of /: 58.7% of 7.57GB Users logged in: 7\n Memory usage: 41% 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: Tue Apr 21 06:17:09 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$ client_loop: send disconnect: Broken pipe\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 Wed Apr 22 12:09:08 UTC 2026\n\n System load: 0.0 Processes: 168\n Usage of /: 58.8% of 7.57GB Users logged in: 7\n Memory usage: 43% 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: Wed Apr 22 08:09:38 2026 from 212.5.153.87\nlukas@jiminny-prod-bastion:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","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 (-zsh)","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:~$ 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 Wed Apr 22 08:09:45 UTC 2026\n\n System load: 0.0 Processes: 133\n Usage of /: 58.7% of 7.57GB Users logged in: 4\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 16:24:08 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:~$ 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 Wed Apr 22 08:09:45 UTC 2026\n\n System load: 0.0 Processes: 133\n Usage of /: 58.7% of 7.57GB Users logged in: 4\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 16:24:08 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:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","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:~$ client_loop: send disconnect: Broken pipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $","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 (-zsh)","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"}]...
|
9096097642635786062
|
-8341749484975242482
|
visual_change
|
accessibility
|
NULL
|
tches=15 > '/proc/1/fd/1' 2>&1 ; tches=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-22 15:43:11 Running ['artisan' calendar:sync --dateMode=daily] 2026-04-22 15:43:19 Jiminny\Jobs\Calendar\SyncCalendarEvents ....... RUNNING
docker_lamp_1 | 2026-04-22 15:43:20 Jiminny\Jobs\Calendar\SyncCalendarEvents ....... 1s DONE
docker_lamp_1 | 2026-04-22 15:43:22 Jiminny\Jobs\Calendar\SyncCalendarEvents ....... RUNNING
docker_lamp_1 | 10s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' calendar:sync --dateMode=daily > '/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-22 15:43:23 Jiminny\Jobs\Calendar\SyncCalendarEvents . 596.48ms DONE
docker_lamp_1 | 2026-04-22 15:43:23 Jiminny\Jobs\Calendar\SyncCalendarEvents ....... RUNNING
docker_lamp_1 | 2026-04-22 15:43:23 Jiminny\Jobs\Calendar\SyncCalendarEvents .. 52.11ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-22 15:44:02 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-22 15:44: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-22 15:44: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-22 15:44: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-22 15:44:09 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-22 15:44:11 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-22 15:44:13 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-22 15:14: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-22 15:14: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-22 15:14:26 (delay: 14s)
docker_lamp_1 | [PASSWORD_DOTS] 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' crm:sync-objects > '/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-22 15:44:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:15 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 49.60ms DONE
docker_lamp_1 | 2026-04-22 15:44:15 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:16 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 601.82ms DONE
docker_lamp_1 | 2026-04-22 15:44:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:17 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 24.34ms DONE
docker_lamp_1 | 2026-04-22 15:44:19 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:20 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-22 15:44:20 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:21 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 557.11ms DONE
docker_lamp_1 | 2026-04-22 15:44:21 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:21 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 58.10ms DONE
docker_lamp_1 | 2026-04-22 15:44:23 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:24 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 1s DONE
docker_lamp_1 | 2026-04-22 15:44:25 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:26 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 787.71ms DONE
docker_lamp_1 | 2026-04-22 15:44:26 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:26 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 18.07ms DONE
docker_lamp_1 | 2026-04-22 15:44:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:27 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 19.18ms DONE
docker_lamp_1 | 2026-04-22 15:44:29 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] RUNNING
docker_lamp_1 | 2026-04-22 15:44:33 Jiminny\Jobs\Crm\SyncObjects [PASSWORD_DOTS] 3s DONE
docker_lamp_1 | 2026-04-22 15:44:33 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:34 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 848.26ms DONE
docker_lamp_1 | 2026-04-22 15:44:35 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob RUNNING
docker_lamp_1 | 2026-04-22 15:44:35 Jiminny\Jobs\Crm\Salesforce\FetchSalesforceEntitiesJob 431.28ms DONE
docker_lamp_1 |
docker_lamp_1 | 2026-04-22 15:45: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-22 15:45:03 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-22 15:45:06 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-22 15:45: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-22 15:45:10 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-22 15:45:12 Running ['artisan' activity:purge-stale] ....... 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' activity:purge-stale > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-22 15:45: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-22 15:45:17 Running ['artisan' conference:pre-meeting-notification] 2s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification > '/proc/1/fd/1' 2>&1
docker_lamp_1 | 2026-04-22 15:45:19 Running ['artisan' conference:monitor:start] ... 4s DONE
docker_lamp_1 | ⇂ '/usr/local/bin/php' 'artisan' conference:monitor:start > '/proc/1/fd/1' 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
redis | 1:C 23 Apr 2026 07:55:51.731 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis | 1:C 23 Apr 2026 07:55:51.731 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=1, just started
redis | 1:C 23 Apr 2026 07:55:51.731 # Configuration loaded
mariadb-1 | 2026-04-23 07:55:51+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.5+maria~ubu2404 started.
redis | 1:M 23 Apr 2026 07:55:51.741 * Running mode=standalone, port=6379.
redis | 1:M 23 Apr 2026 07:55:51.741 # Server initialized
redis | 1:M 23 Apr 2026 07:55:51.741 # 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 23 Apr 2026 07:55:51.744 * Reading RDB preamble from AOF file...
redis | 1:M 23 Apr 2026 07:55:51.745 * Reading the remaining AOF tail...
blackfire-1 | [2026-04-23T07:55:51Z] 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="[URL_WITH_CREDENTIALS] controller (64 bit): Version 7.10.2 (Build 40a3af639d4698) Copyright (c) 2020 Elasticsearch BV" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:08,335Z", "level": "INFO", "component": "o.e.t.NettyAllocator", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "creating NettyAllocator with the following configs: [name=unpooled, suggested_max_allocation_size=256kb, factors={es.unsafe.use_unpooled_allocator=null, g1gc_enabled=true, g1gc_region_size=1mb, heap_size=700mb}]" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:08,444Z", "level": "INFO", "component": "o.e.d.DiscoveryModule", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "using discovery type [single-node] and seed hosts providers [settings]" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:08,962Z", "level": "WARN", "component": "o.e.g.DanglingIndicesState", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "gateway.auto_import_dangling_indices is disabled, dangling indices will not be automatically detected or imported and must be managed manually" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,262Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "initialized" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,263Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "starting ..." }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,430Z", "level": "INFO", "component": "o.e.t.TransportService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "publish_address {[IP_ADDRESS]:9300}, bound_addresses {[::]:9300}" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,769Z", "level": "INFO", "component": "o.e.c.c.Coordinator", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "cluster UUID [8uh2w1CUSGyWYR_OvaKx6g]" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,886Z", "level": "INFO", "component": "o.e.c.s.MasterService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "elected-as-master ([1] nodes joined)[{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{[IP_ADDRESS]}{[IP_ADDRESS]:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20} elect leader, _BECOME_MASTER_TASK_, _FINISH_ELECTION_], term: 229, version: 8527, delta: master node changed {previous [], current [{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{[IP_ADDRESS]}{[IP_ADDRESS]:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:09,973Z", "level": "INFO", "component": "o.e.c.s.ClusterApplierService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "master node changed {previous [], current [{e802ad473a4f}{e2ZKzgw4Q4aCf2w5ljWr1A}{cv7PSrNNRgOBYzeY8N23MA}{[IP_ADDRESS]}{[IP_ADDRESS]:9300}{cdhilmrstw}{ml.machine_memory=4109217792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]}, term: 229, version: 8527, reason: Publication{term=229, version=8527}" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:10,019Z", "level": "INFO", "component": "o.e.h.AbstractHttpServerTransport", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "publish_address {[IP_ADDRESS]:9200}, bound_addresses {[::]:9200}", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:10,020Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "started", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:10,388Z", "level": "INFO", "component": "o.e.l.LicenseService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "license [85e882e5-5714-4173-a5dd-9baa841494a0] mode [basic] - valid", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:10,396Z", "level": "INFO", "component": "o.e.g.GatewayService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "recovered [15] indices into cluster_state", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
redis | 1:M 23 Apr 2026 07:56:12.207 * DB loaded from append only file: 20.465 seconds
redis | 1:M 23 Apr 2026 07:56:12.208 * Ready to accept connections
elasticsearch | {"type": "server", "timestamp": "2026-04-23T07:56:12,454Z", "level": "INFO", "component": "o.e.c.r.a.AllocationService", "cluster.name": "docker-cluster", "node.name": "e802ad473a4f", "message": "Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[activities][2]]]).", "cluster.uuid": "8uh2w1CUSGyWYR_OvaKx6g", "node.id": "e2ZKzgw4Q4aCf2w5ljWr1A" }
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:26Z","tags":["info","plugins-service"],"pid":7,"message":"Plugin \"visTypeXy\" is disabled."}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:26Z","tags":["info","plugins-service"],"pid":7,"message":"Plugin \"auditTrail\" is disabled."}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:26Z","tags":["warning","config","deprecation"],"pid":7,"message":"Config key [monitoring.cluster_alerts.email_notifications.email_address] will be required for email notifications to work in 8.0.\""}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:26Z","tags":["info","plugins-system"],"pid":7,"message":"Setting up [96] plugins: [taskManager,licensing,globalSearch,globalSearchProviders,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetry,telemetryCollectionXpack,kibanaUsageCollection,securityOss,newsfeed,mapsLegacy,kibanaLegacy,translations,share,legacyExport,embeddable,uiActionsEnhanced,expressions,data,home,observability,cloud,console,consoleExtensions,apmOss,searchprofiler,painlessLab,grokdebugger,management,indexPatternManagement,advancedSettings,fileUpload,savedObjects,dashboard,visualizations,visTypeTable,visTypeVega,visTypeTimelion,timelion,features,upgradeAssistant,security,snapshotRestore,enterpriseSearch,encryptedSavedObjects,ingestManager,indexManagement,remoteClusters,crossClusterReplication,indexLifecycleManagement,dashboardMode,beatsManagement,transform,ingestPipelines,maps,licenseManagement,graph,dataEnhanced,visTypeMarkdown,tileMap,regionMap,inputControlVis,visualize,esUiShared,charts,lens,visTypeVislib,visTypeTimeseries,rollup,visTypeTagcloud,visTypeMetric,watcher,discover,discoverEnhanced,savedObjectsManagement,spaces,reporting,lists,eventLog,actions,case,alerts,stackAlerts,triggersActionsUi,ml,securitySolution,infra,monitoring,logstash,apm,uptime,bfetch,canvas]"}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","security","config"],"pid":7,"message":"Generating a random key for xpack.security.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in kibana.yml"}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","security","config"],"pid":7,"message":"Session cookies will be transmitted over insecure connections. This is not recommended."}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","encryptedSavedObjects","config"],"pid":7,"message":"Generating a random key for xpack.encryptedSavedObjects.encryptionKey. To be able to decrypt encrypted saved objects attributes after restart, please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml"}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","ingestManager"],"pid":7,"message":"Fleet APIs are disabled due to the Encrypted Saved Objects plugin using an ephemeral encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in kibana.yml."}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56:27Z","tags":["warning","plugins","reporting","config"],"pid":7,"message":"Generating a random key for xpack.reporting.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.reporting.encryptionKey in kibana.yml"}
kibana | {"type":"log","@timestamp":"2026-04-23T07:56...
|
73569
|
|
47986
|
1018
|
53
|
2026-04-17T12:16:16.889049+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776428176889_m2.jpg...
|
Firefox
|
JY-20692 change confirmation parameter by LakyLak JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/11986
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
Workers | Datadog
Developers | HubSpot
Developers | HubSpot
Inbox (1,576) - [EMAIL] - Jiminny Mail
Inbox (1,576) - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
CloudWatch | eu-west-1
CloudWatch | eu-west-1
New Tab
New Tab
Configure SSH access to multiple environment - Engineering - Confluence
Configure SSH access to multiple environment - Engineering - Confluence
fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app
fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app
Auth Proxy
Auth Proxy
Dashboard · Jiminny · Membrane
Dashboard · Jiminny · Membrane
App "Zoho CRM" · Jiminny · Membrane
App "Zoho CRM" · Jiminny · Membrane
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
Close tab
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues(g then i)
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (30)
Pull requests
(
30
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality (27)
Security and quality
(
27
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20692 change confirmation parameter #11986 Edit title
JY-20692 change confirmation parameter
#
11986
Edit title
Checks pending
Checks pending
Code...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.00234375,"top":0.045138888,"width":0.0296875,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":4,"bounds":{"left":0.03203125,"top":0.045138888,"width":0.0296875,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Workers | Datadog","depth":4,"bounds":{"left":0.06171875,"top":0.045138888,"width":0.0296875,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Developers | HubSpot","depth":4,"bounds":{"left":0.0,"top":0.08263889,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Developers | HubSpot","depth":5,"bounds":{"left":0.015625,"top":0.09236111,"width":0.04453125,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Inbox (1,576) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.11111111,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Inbox (1,576) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.015625,"top":0.12083333,"width":0.11445312,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"120216 is your HubSpot Log In Code - integration-account@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.13958333,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"120216 is your HubSpot Log In Code - integration-account@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.015625,"top":0.14930555,"width":0.17734376,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"CloudWatch | eu-west-1","depth":4,"bounds":{"left":0.0,"top":0.16805555,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CloudWatch | eu-west-1","depth":5,"bounds":{"left":0.015625,"top":0.17777778,"width":0.048828125,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.19652778,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.015625,"top":0.20625,"width":0.017578125,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Configure SSH access to multiple environment - Engineering - Confluence","depth":4,"bounds":{"left":0.0,"top":0.225,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Configure SSH access to multiple environment - Engineering - Confluence","depth":5,"bounds":{"left":0.015625,"top":0.23472223,"width":0.1515625,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2534722,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app","depth":5,"bounds":{"left":0.015625,"top":0.26319444,"width":0.17421874,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Auth Proxy","depth":4,"bounds":{"left":0.0,"top":0.28194445,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Auth Proxy","depth":5,"bounds":{"left":0.015625,"top":0.29166666,"width":0.021875,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dashboard · Jiminny · Membrane","depth":4,"bounds":{"left":0.0,"top":0.31041667,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dashboard · Jiminny · Membrane","depth":5,"bounds":{"left":0.015625,"top":0.3201389,"width":0.06679688,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"App \"Zoho CRM\" · Jiminny · Membrane","depth":4,"bounds":{"left":0.0,"top":0.33888888,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"App \"Zoho CRM\" · Jiminny · Membrane","depth":5,"bounds":{"left":0.015625,"top":0.34861112,"width":0.0796875,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.3673611,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app","depth":5,"bounds":{"left":0.015625,"top":0.37708333,"width":0.18242188,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.07890625,"top":0.37361112,"width":0.009375,"height":0.016666668},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.39583334,"width":0.09375,"height":0.028472222},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":5,"bounds":{"left":0.015625,"top":0.40555555,"width":0.18710938,"height":0.009722223},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.003125,"top":0.42569444,"width":0.08710937,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.003125,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.01640625,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.029296875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0421875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"bounds":{"left":0.05546875,"top":0.97430557,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"bounds":{"left":0.09804688,"top":0.060416665,"width":0.03125,"height":0.013194445},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"bounds":{"left":0.09804688,"top":0.060416665,"width":0.03125,"height":0.013194445},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"bounds":{"left":0.20976563,"top":0.05625,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"bounds":{"left":0.096875,"top":0.08680555,"width":0.12617187,"height":0.022222223},"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"bounds":{"left":0.2296875,"top":0.045138888,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"bounds":{"left":0.2296875,"top":0.046527777,"width":0.003515625,"height":0.18680556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"bounds":{"left":0.2359375,"top":0.05625,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"bounds":{"left":0.253125,"top":0.05625,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"bounds":{"left":0.26875,"top":0.05625,"width":0.022265624,"height":0.022222223},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"bounds":{"left":0.27109376,"top":0.061805554,"width":0.017578125,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"bounds":{"left":0.296875,"top":0.05625,"width":0.02109375,"height":0.022222223},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"bounds":{"left":0.29921874,"top":0.061805554,"width":0.01015625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":10,"bounds":{"left":0.7789062,"top":0.05625,"width":0.07734375,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":13,"bounds":{"left":0.7933594,"top":0.061805554,"width":0.0140625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"bounds":{"left":0.8089844,"top":0.0625,"width":0.002734375,"height":0.010416667},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":13,"bounds":{"left":0.8136719,"top":0.061805554,"width":0.025,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"bounds":{"left":0.85859376,"top":0.05625,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":10,"bounds":{"left":0.8707031,"top":0.05625,"width":0.01015625,"height":0.022222223},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"bounds":{"left":0.89023435,"top":0.05625,"width":0.01953125,"height":0.022222223},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Issues(g then i)","depth":10,"bounds":{"left":0.9128906,"top":0.05625,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Pull requests","depth":10,"bounds":{"left":0.9285156,"top":0.05625,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Repositories","depth":10,"bounds":{"left":0.9441406,"top":0.05625,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":10,"bounds":{"left":0.9597656,"top":0.05625,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":10,"bounds":{"left":0.9753906,"top":0.05625,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"bounds":{"left":0.22929688,"top":0.044444446,"width":0.000390625,"height":0.00069444446},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"bounds":{"left":0.22929688,"top":0.046527777,"width":0.09257813,"height":0.020833334},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"bounds":{"left":0.2359375,"top":0.08680555,"width":0.029296875,"height":0.022916667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"bounds":{"left":0.2484375,"top":0.09236111,"width":0.013671875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (30)","depth":13,"bounds":{"left":0.26835936,"top":0.08680555,"width":0.06484375,"height":0.022916667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":15,"bounds":{"left":0.28203124,"top":0.09236111,"width":0.032421876,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"bounds":{"left":0.31875,"top":0.099305555,"width":0.003515625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":15,"bounds":{"left":0.32226562,"top":0.099305555,"width":0.006640625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"bounds":{"left":0.32890624,"top":0.099305555,"width":0.001953125,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":13,"bounds":{"left":0.33632812,"top":0.08680555,"width":0.034375,"height":0.022916667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":15,"bounds":{"left":0.34960938,"top":0.09236111,"width":0.017578125,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":13,"bounds":{"left":0.3738281,"top":0.08680555,"width":0.035546876,"height":0.022916667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":15,"bounds":{"left":0.38671875,"top":0.09236111,"width":0.019140625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":13,"bounds":{"left":0.4125,"top":0.08680555,"width":0.026953125,"height":0.022916667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":15,"bounds":{"left":0.42539063,"top":0.09236111,"width":0.010546875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality (27)","depth":13,"bounds":{"left":0.44257814,"top":0.08680555,"width":0.0828125,"height":0.022916667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":15,"bounds":{"left":0.45625,"top":0.09236111,"width":0.050390624,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"bounds":{"left":0.5109375,"top":0.099305555,"width":0.003515625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"27","depth":15,"bounds":{"left":0.5144531,"top":0.099305555,"width":0.00625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"bounds":{"left":0.52070314,"top":0.099305555,"width":0.001953125,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":13,"bounds":{"left":0.52851564,"top":0.08680555,"width":0.036328126,"height":0.022916667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":15,"bounds":{"left":0.5414063,"top":0.09236111,"width":0.019921875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":13,"bounds":{"left":0.5679687,"top":0.08680555,"width":0.037890624,"height":0.022916667},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":15,"bounds":{"left":0.58125,"top":0.09236111,"width":0.020703126,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":11,"bounds":{"left":0.24570313,"top":0.125,"width":0.000390625,"height":0.014583333},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":12,"bounds":{"left":0.24570313,"top":0.12638889,"width":0.04609375,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":11,"bounds":{"left":0.24570313,"top":0.12638889,"width":0.25351563,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":11,"bounds":{"left":0.49921876,"top":0.12638889,"width":0.048046876,"height":0.011805556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":12,"bounds":{"left":0.49921876,"top":0.12638889,"width":0.048046876,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":11,"bounds":{"left":0.54726565,"top":0.12638889,"width":0.096875,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":11,"bounds":{"left":0.6441406,"top":0.12638889,"width":0.061328124,"height":0.011805556},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":12,"bounds":{"left":0.6441406,"top":0.12638889,"width":0.061328124,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":11,"bounds":{"left":0.7054688,"top":0.12638889,"width":0.0015625,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":10,"bounds":{"left":0.978125,"top":0.12083333,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"JY-20692 change confirmation parameter #11986 Edit title","depth":13,"bounds":{"left":0.37460938,"top":0.16666667,"width":0.28515625,"height":0.027777778},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"JY-20692 change confirmation parameter","depth":14,"bounds":{"left":0.37460938,"top":0.16736111,"width":0.2265625,"height":0.02638889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"bounds":{"left":0.60429686,"top":0.16736111,"width":0.007421875,"height":0.02638889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11986","depth":15,"bounds":{"left":0.6117188,"top":0.16736111,"width":0.033984374,"height":0.02638889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"bounds":{"left":0.6472656,"top":0.16944444,"width":0.0125,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Checks pending","depth":13,"bounds":{"left":0.7535156,"top":0.17222223,"width":0.061328124,"height":0.022222223},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks pending","depth":15,"bounds":{"left":0.7679688,"top":0.17777778,"width":0.041796874,"height":0.011805556},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":13,"bounds":{"left":0.81640625,"top":0.17222223,"width":0.033203125,"height":0.022222223},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
9095892098595681699
|
-982489497129571705
|
click
|
accessibility
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
Workers | Datadog
Developers | HubSpot
Developers | HubSpot
Inbox (1,576) - [EMAIL] - Jiminny Mail
Inbox (1,576) - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
CloudWatch | eu-west-1
CloudWatch | eu-west-1
New Tab
New Tab
Configure SSH access to multiple environment - Engineering - Confluence
Configure SSH access to multiple environment - Engineering - Confluence
fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app
fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app
Auth Proxy
Auth Proxy
Dashboard · Jiminny · Membrane
Dashboard · Jiminny · Membrane
App "Zoho CRM" · Jiminny · Membrane
App "Zoho CRM" · Jiminny · Membrane
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
Close tab
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues(g then i)
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (30)
Pull requests
(
30
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality (27)
Security and quality
(
27
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20692 change confirmation parameter #11986 Edit title
JY-20692 change confirmation parameter
#
11986
Edit title
Checks pending
Checks pending
Code...
|
NULL
|
|
48043
|
1019
|
17
|
2026-04-17T12:17:50.819816+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776428270819_m1.jpg...
|
Firefox
|
JY-20692 change confirmation parameter by LakyLak JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/11986
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
Workers | Datadog
Developers | HubSpot
Developers | HubSpot
Inbox (1,576) - [EMAIL] - Jiminny Mail
Inbox (1,576) - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
CloudWatch | eu-west-1
CloudWatch | eu-west-1
New Tab
New Tab
Configure SSH access to multiple environment - Engineering - Confluence
Configure SSH access to multiple environment - Engineering - Confluence
fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app
fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app
Auth Proxy
Auth Proxy
Dashboard · Jiminny · Membrane
Dashboard · Jiminny · Membrane
App "Zoho CRM" · Jiminny · Membrane
App "Zoho CRM" · Jiminny · Membrane
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
Close tab
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues(g then i)
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (30)
Pull requests
(
30
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality (27)
Security and quality
(
27
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20692 change confirmation parameter #11986 Edit title
JY-20692 change confirmation parameter
#
11986
Edit title
Checks pending
Checks pending
Code...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Workers | Datadog","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Developers | HubSpot","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Developers | HubSpot","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Inbox (1,576) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Inbox (1,576) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"120216 is your HubSpot Log In Code - integration-account@jiminny.com - Jiminny Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"120216 is your HubSpot Log In Code - integration-account@jiminny.com - Jiminny Mail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"CloudWatch | eu-west-1","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CloudWatch | eu-west-1","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Configure SSH access to multiple environment - Engineering - Confluence","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Configure SSH access to multiple environment - Engineering - Confluence","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Auth Proxy","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Auth Proxy","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Dashboard · Jiminny · Membrane","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Dashboard · Jiminny · Membrane","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"App \"Zoho CRM\" · Jiminny · Membrane","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"App \"Zoho CRM\" · Jiminny · Membrane","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Issues(g then i)","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Pull requests","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Repositories","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (30)","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality (27)","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"27","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":13,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":11,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":11,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"JY-20692 change confirmation parameter #11986 Edit title","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"JY-20692 change confirmation parameter","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11986","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Checks pending","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks pending","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
9095892098595681699
|
-982489497129571705
|
click
|
accessibility
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
Workers | Datadog
Developers | HubSpot
Developers | HubSpot
Inbox (1,576) - [EMAIL] - Jiminny Mail
Inbox (1,576) - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
120216 is your HubSpot Log In Code - [EMAIL] - Jiminny Mail
CloudWatch | eu-west-1
CloudWatch | eu-west-1
New Tab
New Tab
Configure SSH access to multiple environment - Engineering - Confluence
Configure SSH access to multiple environment - Engineering - Confluence
fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app
fix-cache-for-business-processes by ilian-jiminny · Pull Request #11985 · jiminny/app
Auth Proxy
Auth Proxy
Dashboard · Jiminny · Membrane
Dashboard · Jiminny · Membrane
App "Zoho CRM" · Jiminny · Membrane
App "Zoho CRM" · Jiminny · Membrane
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
Close tab
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
JY-20543 add AJ reports User pilot tracking by LakyLak · Pull Request #11932 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues(g then i)
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (30)
Pull requests
(
30
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality (27)
Security and quality
(
27
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20692 change confirmation parameter #11986 Edit title
JY-20692 change confirmation parameter
#
11986
Edit title
Checks pending
Checks pending
Code...
|
48041
|
|
28113
|
581
|
82
|
2026-04-15T14:06:23.121923+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776261983121_m1.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+SlackFileEditViewGoEDHome1DMsActivityFilesLater.. +SlackFileEditViewGoEDHome1DMsActivityFilesLater..•More+History→Jiminny ...sos+# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi…..Direct messagesAneliya Angelo...Stoyan TanevVes. Galya DimitrovaVasil VasilevSteliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaD. Nikolay Nikolov2 Galya Dimitrova, Ni...ii: AppsJira CloudToast1WindowHelpSearch Jiminny Inc# releases8 22Messagesnewdou@ Files• Bookmarks+v 2 new messagesGitHubAPP3:28 PM7 new commits pushed tomaster by nikolay-yankovNew24b989ee - Enhance SECFIXdocumentation and policiesa3a0a742 - Update SECFIX Slack channelreference in documentation and workflowfiles071c999d - Merge branch 'master' intoimprove-secfix-bot-15-04-2026981e9a1a - Update SECFIX_PROMPT.mdto enhance clarity on upgrade safety andchangelog reviews6e938e53 - Enhance SECFIX workflow withSlack notification optionsShow more( jiminny/app Added by GitHubCircleCl APP3:53 PMDeployment Successful!Project: appWhen:04/15/202612:53:30Tag:View JobMessage #releases+AaActivity MonitorAll ProcessesProcess NameBoosteroidWindowServerFirefoxFirefoxCP Isolated Web ContentFirefoxFirefoxCP Isolated Web ContentCursorUlViewService (Not Responding)Firefox GPU HelperFirefoxCP Isolated Web ContentFirefox GPU HelperVTDecoderXPCServiceSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)Claude Helper (Renderer)claudeNotion Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentiTerm2FirefoxCP Isolated Web ContentCode Helper (Renderer)MEMORY PRESSURERMem...2,03 GB1,19 GB996,9 MB962,8 MB848,3 MB794,0 MB793,6 MB550,2 MB547,4 MB543,9 MB516,0 MB468,0 MB466,0 MB439,0 MB433,0 MB399,3 MB392,8 MB391,0 MB372,5 MB346,4 MB326,4 MB326,2 MB321,4 MB292,2 MB251,3 MB250,7 MB237,8 MB214,6 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% <478Wed 15 Apr 17:06:22CPUMemoryDiskThreads3923722684282924271115232426272623221515132027282718EnergyPorts60419 7697251251 20212820 027241125254167186119123124125126119118171219723131231281 832124241PID93892407801442974146644203084280193671314673938994186335480352763583143652430163689848173265486051950910114835833482984878561388534016,00 GB14,19 GB <1,75 GB3,04 GBApp Memory:Wired Memory:Compressed:NetworkUserlukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas3,86 GB2,89 GB6,89 GB...
|
NULL
|
9095777514775495053
|
NULL
|
click
|
ocr
|
NULL
|
+SlackFileEditViewGoEDHome1DMsActivityFilesLater.. +SlackFileEditViewGoEDHome1DMsActivityFilesLater..•More+History→Jiminny ...sos+# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi…..Direct messagesAneliya Angelo...Stoyan TanevVes. Galya DimitrovaVasil VasilevSteliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaD. Nikolay Nikolov2 Galya Dimitrova, Ni...ii: AppsJira CloudToast1WindowHelpSearch Jiminny Inc# releases8 22Messagesnewdou@ Files• Bookmarks+v 2 new messagesGitHubAPP3:28 PM7 new commits pushed tomaster by nikolay-yankovNew24b989ee - Enhance SECFIXdocumentation and policiesa3a0a742 - Update SECFIX Slack channelreference in documentation and workflowfiles071c999d - Merge branch 'master' intoimprove-secfix-bot-15-04-2026981e9a1a - Update SECFIX_PROMPT.mdto enhance clarity on upgrade safety andchangelog reviews6e938e53 - Enhance SECFIX workflow withSlack notification optionsShow more( jiminny/app Added by GitHubCircleCl APP3:53 PMDeployment Successful!Project: appWhen:04/15/202612:53:30Tag:View JobMessage #releases+AaActivity MonitorAll ProcessesProcess NameBoosteroidWindowServerFirefoxFirefoxCP Isolated Web ContentFirefoxFirefoxCP Isolated Web ContentCursorUlViewService (Not Responding)Firefox GPU HelperFirefoxCP Isolated Web ContentFirefox GPU HelperVTDecoderXPCServiceSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)Claude Helper (Renderer)claudeNotion Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentiTerm2FirefoxCP Isolated Web ContentCode Helper (Renderer)MEMORY PRESSURERMem...2,03 GB1,19 GB996,9 MB962,8 MB848,3 MB794,0 MB793,6 MB550,2 MB547,4 MB543,9 MB516,0 MB468,0 MB466,0 MB439,0 MB433,0 MB399,3 MB392,8 MB391,0 MB372,5 MB346,4 MB326,4 MB326,2 MB321,4 MB292,2 MB251,3 MB250,7 MB237,8 MB214,6 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% <478Wed 15 Apr 17:06:22CPUMemoryDiskThreads3923722684282924271115232426272623221515132027282718EnergyPorts60419 7697251251 20212820 027241125254167186119123124125126119118171219723131231281 832124241PID93892407801442974146644203084280193671314673938994186335480352763583143652430163689848173265486051950910114835833482984878561388534016,00 GB14,19 GB <1,75 GB3,04 GBApp Memory:Wired Memory:Compressed:NetworkUserlukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas3,86 GB2,89 GB6,89 GB...
|
28111
|
|
67791
|
1526
|
3
|
2026-04-21T16:02:28.474918+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-21/1776 /Users/lukas/.screenpipe/data/data/2026-04-21/1776787348474_m1.jpg...
|
PhpStorm
|
faVsco.js – AutomatedReportsService.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsServiceTest
Run 'AutomatedReportsServiceTest'
Debug 'AutomatedReportsServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
1
102
3
34
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Kiosk\AutomatedReports;
use Carbon\CarbonImmutable;
use Carbon\CarbonInterface;
use Carbon\Exceptions\InvalidFormatException;
use DateTime;
use DateTimeInterface;
use DateTimeZone;
use Illuminate\Contracts\Bus\Dispatcher as BusDispatcher;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Carbon;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\ActivitySearch\FilterDefinition\InputTypeEnum;
use Jiminny\Component\AskAnything\AskAnythingPromptService;
use Jiminny\Component\AskAnything\Dtos\AskAnythingPromptDto;
use Jiminny\Component\UrlGenerator\Webhook;
use Jiminny\Contracts\Repositories\PlaybookCategoryRepository;
use Jiminny\Contracts\Repositories\TeamRepository;
use Jiminny\Contracts\Repositories\UserRepository;
use Jiminny\Exceptions\ApplicationException;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Exceptions\ModelNotFoundException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateReportJob;
use Jiminny\Models\Activity\Search;
use Jiminny\Models\AskAnything\AskAnythingPrompt;
use Jiminny\Models\AskAnything\AskAnythingPromptTarget;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AskAnythingRepository;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Repositories\GroupRepository;
use Jiminny\Repositories\SearchRepository;
use Jiminny\Repositories\StageRepository;
use Throwable;
class AutomatedReportsService
{
public const string TYPE_LOSS_ANALYSIS = 'loss_analysis';
public const string TYPE_ASK_JIMINNY = 'ask_jiminny';
/**
* Standard report types (used by kiosk for existing automated reports).
*/
// @TODO this will add filter, however if we need to control feature by FF we need conditional logic
public const array TYPES = [
['id' => 'exec_summary', 'name' => 'Exec Summary'],
['id' => 'coaching_profiles', 'name' => 'Coaching Profiles'],
['id' => 'product_feedback', 'name' => 'Product Feedback'],
['id' => self::TYPE_LOSS_ANALYSIS, 'name' => 'Loss Analysis'],
// ['id' => 'questions', 'name' => 'Questions'],
// ['id' => 'statistical_quant', 'name' => 'Statistical Quantitative'],
];
public const array ALL_TYPES = [
...self::TYPES,
['id' => self::TYPE_ASK_JIMINNY, 'name' => 'Ask Jiminny'],
];
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
/**
* Frequencies for standard (non-Ask Jiminny) reports.
*/
public const array FREQUENCIES = [
['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],
['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],
['id' => self::FREQUENCY_QUARTERLY, 'name' => 'Quarterly'],
['id' => self::FREQUENCY_ONE_OFF, 'name' => 'One-off'],
];
/**
* Frequencies for Ask Jiminny reports.
*/
public const array ASK_JIMINNY_FREQUENCIES = [
['id' => self::FREQUENCY_DAILY, 'name' => 'Daily'],
['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],
['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],
];
public const string MEDIA_TYPE_PDF = 'pdf';
public const string MEDIA_TYPE_PODCAST = 'podcast';
public const array MEDIA_TYPES = [self::MEDIA_TYPE_PDF, self::MEDIA_TYPE_PODCAST];
public const array MEDIA_TYPE_OBJECT_PDF = ['id' => self::MEDIA_TYPE_PDF, 'name' => 'PDF'];
public const array MEDIA_TYPE_OBJECT_PODCAST = ['id' => self::MEDIA_TYPE_PODCAST, 'name' => 'Podcast'];
public const array MEDIA_TYPE_OBJECTS = [self::MEDIA_TYPE_OBJECT_PDF, self::MEDIA_TYPE_OBJECT_PODCAST];
public const array CALL_TYPE_CONFERENCE = ['id' => 'conference', 'name' => 'Conference'];
public const array CALL_TYPE_DIALER = ['id' => 'dialer', 'name' => 'Dialer'];
public const int SENT_REPORT_AT_HOURS = 5;
public const string PDF_KEY = 'pdf';
public const string AUDIO_KEY = 'audio';
private const array ALL_FREQUENCIES = [
['id' => self::FREQUENCY_DAILY, 'name' => 'Daily'],
['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],
['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],
['id' => self::FREQUENCY_QUARTERLY, 'name' => 'Quarterly'],
['id' => self::FREQUENCY_ONE_OFF, 'name' => 'One-off'],
];
private const string S3_DIR = 'reports';
private const array FILE_EXTENSIONS_VARIANTS = ['html', 'MD', 'pdf'];
private const array FILE_PODCAST_EXTENSIONS_VARIANTS = ['json', 'mp3', 'ssml'];
public function __construct(
private readonly TeamRepository $teamRepository,
private readonly GroupRepository $groupRepository,
private readonly UserRepository $userRepository,
private readonly StageRepository $stageRepository,
private readonly DealStagesService $dealStagesService,
private readonly RecipientsService $recipientsService,
private readonly AutomatedReportsRepository $automatedReportsRepository,
private readonly Webhook $webhookService,
private readonly BusDispatcher $dispatcher,
private readonly ActivityTypeService $activityTypeService,
private readonly PlaybookCategoryRepository $playbookCategoryRepository,
private readonly AskAnythingPromptService $askAnythingPromptService,
private readonly SearchRepository $activitySearchRepository,
private readonly AskAnythingRepository $askAnythingRepository,
) {
}
public static function getTypes(): array
{
$types = self::TYPES;
return array_map(static function ($type) {
return $type['id'];
}, $types);
}
public static function getCallTypes(): array
{
return array_map(static function ($callType) {
return $callType['id'];
}, [self::CALL_TYPE_CONFERENCE, self::CALL_TYPE_DIALER]);
}
public static function getFrequencies(): array
{
return array_map(static function ($frequency) {
return $frequency['id'];
}, self::FREQUENCIES);
}
// front-facing structure
public function getReportEnabledFieldData(bool $value = false): array
{
return [
'id' => 'report_enabled',
'label' => '',
'inputType' => InputTypeEnum::TOGGLE,
'value' => $value,
];
}
// Organizations = Teams
public function getOrganizationFieldData(?string $value = null, bool $shortVersion = false): array
{
$options = $this->getTeams();
if ($shortVersion) {
return [
'id' => 'organization',
'label' => 'Organization',
'options' => $options,
];
}
return [
'id' => 'organization',
'label' => 'Organization',
'inputType' => InputTypeEnum::DROPDOWN,
'required' => true,
'placeholder' => 'Select',
'options' => $options,
'value' => $value,
'dependencies' => [
'teams',
'deal_stage_at_call',
'current_deal_stage',
'recipients',
ActivityTypeService::PLAYBOOK_CATEGORIES_KEY,
],
'dependsOn' => [],
];
}
// Teams = Groups
public function getTeamFieldData(array $options = [], array $value = [], bool $shortVersion = false): array
{
if ($shortVersion) {
return [
'id' => 'teams',
'label' => 'Team',
'options' => $options,
];
}
return [
'id' => 'teams',
'label' => 'Team',
'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,
'required' => false,
'placeholder' => 'Select',
'options' => $options,
'value' => $value, // value should be an array of objects {id, name}
'dependencies' => [ActivityTypeService::PLAYBOOK_CATEGORIES_KEY],
'dependsOn' => [],
];
}
public function getReportTypeFieldData(?string $value = null, bool $shortVersion = false, ?Team $team = null): array
{
$types = [];
if ($team instanceof Team) {
if ($team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {
$types = self::TYPES;
}
if ($team->hasFeature(FeatureEnum::ASK_JIMINNY_REPORTS)) {
$types[] = ['id' => self::TYPE_ASK_JIMINNY, 'name' => 'Ask Jiminny'];
}
} else {
$types = self::TYPES;
}
if ($shortVersion) {
return [
'id' => 'report_type',
'label' => 'Report Type',
'options' => $types,
];
}
return [
'id' => 'report_type',
'label' => 'Report Type',
'inputType' => InputTypeEnum::DROPDOWN,
'required' => true,
'placeholder' => 'Select',
'options' => $types,
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
public function getFrequencyFieldData(?string $value = null): array
{
return [
'id' => 'frequency',
'label' => 'Frequency',
'inputType' => InputTypeEnum::DROPDOWN,
'required' => true,
'placeholder' => 'Select',
'options' => self::FREQUENCIES,
'value' => $value,
'dependencies' => ['period'],
'dependsOn' => [],
];
}
public function getPeriodFieldData(?string $valueStartDate = null, ?string $valueEndDate = null): array
{
return [
'id' => 'period',
'label' => 'Select one-off period',
'inputType' => InputTypeEnum::DATE_RANGE,
'required' => true,
'placeholder' => 'Select',
'value' => ['startDate' => $valueStartDate, 'endDate' => $valueEndDate],
'queryParams' => [
'startDate' => 'start_date_period',
'endDate' => 'end_date_period',
],
'dependencies' => [],
'dependsOn' => ['frequency'],
];
}
public function getActivityTypesFieldData(?Team $team = null, array $value = [], array $teamsFilter = []): array
{
return $this->activityTypeService->getActivityTypeFieldData(team: $team, value: $value, groupIds: $teamsFilter);
}
public function getDealStageAtCallFieldData(?Team $team = null, array $value = []): array
{
return $this->dealStagesService->getDealStageAtCallFieldData(team: $team, value: $value);
}
public function getCurrentDealStageFieldData(?Team $team = null, array $value = []): array
{
return $this->dealStagesService->getCurrentDealStageFieldData(team: $team, value: $value);
}
public function getDealValueFieldData(?int $valueMin = null, ?int $valueMax = null): array
{
return [
'id' => 'deal_value',
'label' => 'Deal Value',
'inputType' => InputTypeEnum::INTEGER_RANGE,
'required' => false,
'value' => ['min' => $valueMin, 'max' => $valueMax],
'queryParams' => [
'min' => 'min_deal_value',
'max' => 'max_deal_value',
],
'dependencies' => [],
'dependsOn' => [],
];
}
public function getCallTypeFieldData(bool $conferenceOn = false, bool $dialerOn = false): array
{
$value = [];
$conferenceOn && $value[] = self::CALL_TYPE_CONFERENCE;
$dialerOn && $value[] = self::CALL_TYPE_DIALER;
return [
'id' => 'call_type',
'label' => 'Call Type',
'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,
'required' => true,
'options' => [
self::CALL_TYPE_CONFERENCE,
self::CALL_TYPE_DIALER,
],
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
public function getMediaTypeFieldData(?AutomatedReport $report = null): array
{
$value = [];
if ($report) {
$value = $this->transformMediaTypes($report);
}
return [
'id' => 'media_types',
'label' => 'Export as',
'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,
'required' => true,
'options' => self::MEDIA_TYPE_OBJECTS,
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
public function getCallDurationFieldData(?int $valueMin = null, ?int $valueMax = null): array
{
return [
'id' => 'call_duration',
'label' => 'Call Duration',
'inputType' => InputTypeEnum::INTEGER_RANGE,
'required' => false,
'value' => ['min' => $valueMin, 'max' => $valueMax],
'queryParams' => [
'min' => 'min_call_duration',
'max' => 'max_call_duration',
],
'dependencies' => [],
'dependsOn' => [],
];
}
public function getRecipientsFieldData(?Team $team = null, array $value = []): array
{
return $this->recipientsService->getRecipientsFieldData(team: $team, value: $value);
}
public function getJiminnyRecipientsFieldData(array $value = []): array
{
return $this->recipientsService->getJiminnyRecipientsFieldData($value);
}
public function getAdditionalPromptInputFieldData(?string $value = null): array
{
return [
'id' => 'additional_prompt_input',
'label' => 'Special requirements',
'inputType' => InputTypeEnum::TEXTAREA,
'required' => false,
'placeholder' => 'What should be the focus of the report?',
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
public function getCustomReportNameFieldData(?string $value = null): array
{
return [
'id' => 'custom_name',
'label' => 'Custom report name',
'inputType' => InputTypeEnum::TEXT,
'required' => false,
'placeholder' => 'Enter custom name',
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
// data providers
public function getTeams(): array
{
$teams = $this->teamRepository->getTeamsForKiosk(status: Team::STATUS_ACTIVE);
$teamData = [];
foreach ($teams as $team) {
if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {
continue;
}
$teamData[] = $this->transformTeam($team);
}
return $teamData;
}
public function getTeamGroups(string $teamUuid): array
{
$data = [];
$team = $this->getTeam($teamUuid);
if ($team !== null) {
$groups = $team->groups()->get();
foreach ($groups as $group) {
$data[] = [
'id' => $group->getUuid(),
'name' => $group->getName(),
];
}
}
return $data;
}
public function getTeamsGroupsOptions(array $filterTeamUuids = []): array
{
$data = [];
$teams = $this->getTeams();
foreach ($teams as $team) {
if (! empty($filterTeamUuids) && ! in_array($team['id'], $filterTeamUuids, true)) {
continue;
}
$data[] = [
'label' => $team['name'],
'groups' => $this->getTeamGroups($team['id']),
];
}
return $data;
}
public function getTeam(string $teamUuid): ?Team
{
return $this->teamRepository->idOrUuid($teamUuid);
}
public function getTeamById(int $teamId): ?Team
{
return $this->teamRepository->find($teamId);
}
public function getGroupsUuids(AutomatedReport $report): array
{
$uuids = [];
$reportGroups = $report->getGroups();
foreach ($reportGroups as $groupId) {
if ($group = $this->groupRepository->find($groupId)) {
$uuids[] = $group->getUuid();
}
}
return $uuids;
}
public function getPlaybookCategoriesUuids(AutomatedReport $report): array
{
$uuids = [];
$playbookCategories = $report->getPlaybookCategories();
foreach ($playbookCategories as $id) {
if ($category = $this->playbookCategoryRepository->find($id)) {
$uuids[] = $category->getUuid();
}
}
return $uuids;
}
public function getDealAtCallStagesUuids(AutomatedReport $report): array
{
$uuids = [];
$reportStages = $report->getDealAtCallStages();
foreach ($reportStages as $id) {
if ($stage = $this->stageRepository->find($id)) {
$uuids[] = $stage->getUuid();
}
}
return $uuids;
}
public function getCurrentDealStagesUuids(AutomatedReport $report): array
{
$uuids = [];
$reportStages = $report->getCurrentDealStages();
foreach ($reportStages as $id) {
if ($stage = $this->stageRepository->find($id)) {
$uuids[] = $stage->getUuid();
}
}
return $uuids;
}
public function getUsersUuids(AutomatedReport $report): array
{
return $this->extractUserUuids($report->getRecipients());
}
public function getJiminnyUsersUuids(AutomatedReport $report): array
{
return $this->extractUserUuids($report->getJiminnyRecipients());
}
/**
* @param array<string, mixed> $recipients
*/
private function extractUserUuids(array $recipients): array
{
$userIds = $recipients['users'] ?? [];
return collect($userIds)
->map(fn ($id) => $this->userRepository->find((int) $id))
->filter()
->map(fn (UserContract $user) => $user->getUuid())
->values()
->all();
}
// get mail data
public function getRecipientUsers(AutomatedReport $report): array
{
return $this->buildRecipientUsers($report->getRecipients());
}
/**
* @return array<UserContract>
*/
public function getRecipientUserObjects(AutomatedReport $report): array
{
$userIds = $report->getRecipients()['users'] ?? [];
return collect($userIds)
->map(fn ($id) => $this->userRepository->find((int) $id))
->filter()
->values()
->all();
}
private function getJiminnyRecipientUsers(AutomatedReport $report): array
{
return $this->buildRecipientUsers($report->getJiminnyRecipients());
}
/**
* @param array<string, mixed> $recipients
*/
private function buildRecipientUsers(array $recipients): array
{
$userIds = $recipients['users'] ?? [];
return collect($userIds)
->map(fn ($id) => $this->userRepository->find((int) $id))
->filter()
->map(fn (UserContract $user) => [
'email' => $user->getEmailAddress(),
'name' => $user->getName(),
'timezone' => $user->getTimezone()->getName(),
])
->values()
->all();
}
public function getValidRecipientUsers(AutomatedReport $report, bool $includeJiminny = false): array
{
if ($report->isAskJiminnyReport()) {
$recipients = $this->resolveAskJiminnyRecipients($report);
} else {
$recipients = $this->getRecipientUsers($report);
if ($includeJiminny) {
$recipients = array_merge($recipients, $this->getJiminnyRecipientUsers($report));
}
}
$emails = [];
return array_values(array_filter(
$recipients,
static function ($recipient) use (&$emails) {
if (empty($recipient['email']) || in_array($recipient['email'], $emails, true)) {
return false;
}
$emails[] = $recipient['email'];
return true;
}
));
}
private function resolveAskJiminnyRecipients(AutomatedReport $report): array
{
$recipients = [];
$creator = $report->getCreator();
if ($creator !== null) {
$recipients[] = [
'email' => $creator->getEmailAddress(),
'name' => $creator->getName(),
'timezone' => $creator->getTimezone()->getName(),
];
}
return array_merge(
$recipients,
$this->buildRecipientUsers($report->getRecipients()),
$this->getGroupRecipientUsers($report),
);
}
private function getGroupRecipientUsers(AutomatedReport $report): array
{
$users = [];
foreach ($report->getGroups() as $groupId) {
$group = $this->groupRepository->find($groupId);
if ($group === null) {
continue;
}
foreach ($group->getMembers() as $member) {
$users[] = [
'email' => $member->getEmailAddress(),
'name' => $member->getName(),
'timezone' => $member->getTimezone()->getName(),
];
}
}
return $users;
}
public function getReportTypeName(AutomatedReportResult $report): string
{
$type = $report->getReport()->getType();
$getType = $this->transformReportType($type);
return $getType['name'];
}
public function getReportPeriodName(AutomatedReportResult $report): string
{
$from = $report->getFromDate();
$to = $report->getToDate();
$frequency = $report->getReport()->getFrequency();
if ($from === null || $to === null) {
if (! $report->getReport()->isAskJiminnyReport()) {
$invalidPeriod = $from === null ? 'from' : 'to';
throw new ApplicationException('Report period is invalid: ' . $invalidPeriod);
}
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
}
return $this->formatReportPeriodName($frequency, $from, $to);
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function getReportTeamsName(AutomatedReportResult $report): string
{
$groups = $report->getGroups();
if (empty($groups)) {
return 'All';
}
// Get group names from repository
$groupNames = [];
foreach ($groups as $groupId) {
$group = $this->groupRepository->find($groupId);
if ($group) {
$groupNames[] = $group->getName();
}
}
if (count($groupNames) === 1) {
// Single team format
$teamsName = $groupNames[0];
} else {
// Multiple teams format
$teamsName = implode(', ', $groupNames);
}
return $teamsName;
}
public function getReportFileName(AutomatedReportResult $report): string
{
$customName = $report->getReport()->getCustomName();
$periodName = $this->getReportPeriodName($report);
$filenameSuffix = $this->getFilenameSuffix($report);
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
return $this->sanitizeFileName("{$customName} - {$periodName}");
}
$baseName = $this->getReportTypeName($report);
if ($filenameSuffix) {
$baseName .= " {$filenameSuffix}";
}
return $this->sanitizeFileName("{$baseName} - {$periodName} - {$this->getReportTeamsName($report)}");
}
public function getReportFileNameWithExtension(AutomatedReportResult $result): string
{
$extension = $this->getMediaTypeMetadata($result)['extension'];
return $this->getReportFileName($result) . '.' . $extension;
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
public function isUserRecipientOfReport(User $user, AutomatedReport $report): bool
{
$recipients = array_map('intval', $report->getRecipients()['users'] ?? []);
return in_array($user->getId(), $recipients);
}
public function isUserRecipientOfReport(User $user, AutomatedReport $report): bool
{
$recipientIds = array_map('intval', $report->getRecipients()['users'] ?? []);
if (in_array($user->getId(), $recipientIds, true)) {
return true;
}
if ($report->isAskJiminnyReport()) {
$groupId = $user->getGroupId();
if ($groupId !== null && in_array($groupId, $report->getGroups(), true)) {
return true;
}
}
return false;
}
public function transformReportResults(Collection $automatedReportResults): array
{
$data = [];
foreach ($automatedReportResults as $automatedReportResult) {
/** @var AutomatedReportResult $automatedReportResult */
$report = $automatedReportResult->getReport();
$createdBy = $report->getCreator();
$creator = [
'id' => $createdBy?->getUuid(),
'name' => $createdBy?->getName(),
'email' => $createdBy?->getEmailAddress(),
'photoUrl' => $createdBy?->getPhotoUrl(),
];
$data[] = [
'id' => $automatedReportResult->getUuid(),
'name' => $automatedReportResult->getName(),
'frequency' => $this->transformFrequency($report->getFrequency()),
'recipients' => $this->buildRecipients($report),
'report_type' => $this->transformReportType($report->getType()),
'media_type' => $automatedReportResult->getMediaType(),
'downloadUrl' => $this->generateReportResultDownloadUrl($automatedReportResult),
'viewUrl' => $this->generateReportResultViewUrl($automatedReportResult),
'generated_at' => $automatedReportResult->getGeneratedAt()?->toIso8601String(),
'creator' => $creator,
];
}
return $data;
}
private function buildRecipients(AutomatedReport $report): array
{
$creatorUuid = $report->getCreator()?->getUuid();
$recipients = array_values(array_filter(
$this->transformRecipients($report->getRecipients()),
static fn (array $recipient): bool => $recipient['id'] !== $creatorUuid,
));
if (! $report->isAskJiminnyReport()) {
return $recipients;
}
return [
...array_values($this->transformGroups(team: $report->getTeam(), groupsIds: $report->getGroups())),
...$recipients,
];
}
public function hasCallTypeConference(AutomatedReport $report): bool
{
return in_array(self::CALL_TYPE_CONFERENCE['id'], $report->getCallTypes(), true);
}
public function hasCallTypeDialer(AutomatedReport $report): bool
{
return in_array(self::CALL_TYPE_DIALER['id'], $report->getCallTypes(), true);
}
// transformers
private function transformTeam(Team $team): array
{
if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {
return [];
}
return [
'id' => $team->getUuid(),
'name' => $team->getName(),
];
}
private function transformReportFullView(AutomatedReport $report): array
{
$base = $this->transformReportBase($report);
return $report->getType() === self::TYPE_ASK_JIMINNY
? $base + $this->transformAskJiminnyFields($report)
: $base + $this->transformStandardReportFields($report);
}
private function transformReportBase(AutomatedReport $report): array
{
return [
'id' => $report->getUuid(),
'organization' => $this->transformOrganization(team: $report->getTeam()),
'report_type' => $this->transformReportType($report->getType()),
'frequency' => $this->transformFrequency($report->getFrequency()),
];
}
private function transformStandardReportFields(AutomatedReport $report): array
{
$team = $report->getTeam();
return [
'report_enabled' => $report->getStatus(),
'start_date_period' => $report->getFrom()?->format('Y-m-d H:i:s'),
'end_date_period' => $report->getTo()?->format('Y-m-d H:i:s'),
'deal_value_min' => $report->getDealValueMin(),
'deal_value_max' => $report->getDealValueMax(),
'call_types' => $this->transformCallType($report->getCallTypes()),
'media_types' => $this->transformMediaTypes($report),
'call_duration_min' => $this->transformDurationToMinutes($report->getCallDurationMin()),
'call_duration_max' => $this->transformDurationToMinutes($report->getCallDurationMax()),
'teams' => $this->transformGroups(team: $team, groupsIds: $report->getGroups()),
'deal_at_call_stages' => $this->transformStages(team: $team, stagesIds: $report->getDealAtCallStages()),
'current_deal_stages' => $this->transformStages(team: $team, stagesIds: $report->getCurrentDealStages()),
'recipients' => $this->transformRecipients($report->getRecipients()),
'created_by' => $this->transformCreator($report->getCreator()),
'additional_prompt_input' => $report->getAdditionalPromptInput(),
'custom_name' => $report->getCustomName(),
'created_at' => $report->getCreatedAt()->format('Y-m-d H:i:s'),
'updated_at' => $report->getUpdatedAt()->format('Y-m-d H:i:s'),
'deleted_at' => $report->getDeletedAt()?->format('Y-m-d H:i:s'),
];
}
private function transformAskJiminnyFields(AutomatedReport $report): array
{
$team = $report->getTeam();
$creatorId = $report->getAttribute('created_by');
$explicitUserIds = array_values(array_filter(
$report->getRecipients()['users'] ?? [],
static fn ($id) => $id !== $creatorId
));
return [
'report_name' => $report->getCustomName(),
'enabled' => $report->getStatus(),
'share_teams' => $this->transformGroups(team: $team, groupsIds: $report->getGroups()),
'share_users' => $this->transformRecipients(['users' => $explicitUserIds]),
'saved_search' => $this->transformSafeSearch($report->getSavedSearch()),
'ask_jiminny_prompt' => $this->transformAskJiminnyPrompt($report->getAskAnythingPrompt()),
'expires_on' => $report->getExpiresAt()?->format('Y-m-d'),
];
}
private function transformOrganization(?Team $team): array
{
return [
'id' => $team?->getUuid(),
'name' => $team?->getName(),
];
}
private function transformReportType(string $type): array
{
foreach (self::ALL_TYPES as $typeItem) {
if ($typeItem['id'] === $type) {
return $typeItem;
}
}
return [];
}
private function transformCallType(array $types): array
{
$result = [];
$callTypes = [self::CALL_TYPE_CONFERENCE, self::CALL_TYPE_DIALER];
foreach ($types as $type) {
foreach ($callTypes as $callTypeItem) {
if ($callTypeItem['id'] === $type) {
$result[] = $callTypeItem;
break;
}
}
}
return $result;
}
private function transformMediaTypes(AutomatedReport $report): array
{
$values = [];
foreach ($report->getMediaTypes() as $mediaType) {
if (! in_array($mediaType, self::MEDIA_TYPES, true)) {
continue;
}
$values[] = match ($mediaType) {
self::MEDIA_TYPE_PDF => self::MEDIA_TYPE_OBJECT_PDF,
self::MEDIA_TYPE_PODCAST => self::MEDIA_TYPE_OBJECT_PODCAST,
};
}
return $values;
}
private function transformFrequency(string $frequency): array
{
foreach (self::ALL_FREQUENCIES as $frequencyItem) {
if ($frequencyItem['id'] === $frequency) {
return $frequencyItem;
}
}
return [];
}
public function transformDurationToMinutes(?int $duration): ?int
{
if (! $duration) {
return null;
}
return (int) ($duration / 60);
}
private function transformGroups(?Team $team, array $groupsIds): array
{
if (empty($groupsIds) || ! $team) {
return [];
}
$data = [];
foreach ($groupsIds as $groupId) {
$group = $team->groups()->where('id', $groupId)->first();
if ($group) {
$data[] = [
'id' => $group->getUuid(),
'name' => $group->getName(),
'photoUrl' => $group->getPhotoUrl(),
];
}
}
return $data;
}
private function transformStages(?Team $team, array $stagesIds): array
{
if (empty($stagesIds) || ! $team) {
return [];
}
$data = [];
foreach ($stagesIds as $stageId) {
$stage = $team->stages()->where('id', $stageId)->first();
if ($stage) {
$data[] = [
'id' => $stage->getUuid(),
'name' => $stage->getName(),
];
}
}
return $data;
}
private function transformRecipients(array $recipients): array
{
$users = [];
foreach ($recipients['users'] ?? [] as $userId) {
$users[] = $this->transformUser($userId);
}
return $users;
}
private function transformCreator(?User $user): ?array
{
if ($user === null) {
return null;
}
return $this->transformUser($user->getId());
}
private function transformAskJiminnyPrompt(?AskAnythingPrompt $prompt): ?array
{
if ($prompt === null) {
return null;
}
return [
'id' => $prompt->getUuid(),
'name' => $prompt->getTitle(),
];
}
private function transformSafeSearch(?Search $search): ?array
{
if ($search === null) {
return null;
}
return [
'id' => $search->getUuid(),
'name' => $search->getName(),
];
}
private function transformUser(int $userId): array
{
/* @var ?User $user */
$user = $this->userRepository->find($userId);
return [
'id' => $user?->getUuid(),
'name' => $user?->getName(),
'email' => $user?->getEmailAddress(),
'photoUrl' => $user?->getPhotoUrl(),
];
}
public function create(array $data): array
{
$validatedData = $this->validateAndTransformData($data);
$validatedData['created_by'] = auth()->id();
$automatedReport = $this->automatedReportsRepository->create($validatedData);
$this->generateOneOffReport($automatedReport);
return $this->transformReportFullView($automatedReport);
}
public function update(string $uuid, array $data): array
{
$validatedData = $this->validateAndTransformData($data);
$report = $this->automatedReportsRepository->findByUuid($uuid);
if (! $report) {
throw new InvalidArgumentException('Report not found');
}
$oldCustomName = $report->getCustomName();
$automatedReport = $this->automatedReportsRepository->update($report, $validatedData);
if ($oldCustomName !== $automatedReport->getCustomName()) {
$this->updateResultNames($automatedReport);
}
$this->generateOneOffReport($automatedReport);
return $this->transformReportFullView($automatedReport);
}
/**
* Create an Ask Jiminny report.
*/
public function createAskJiminnyReport(array $data, User $creator): array
{
$validatedData = $this->validateAskJiminnyReportData($data, $creator);
$validatedData['created_by'] = $creator->getId();
$automatedReport = $this->automatedReportsRepository->create($validatedData);
return $this->transformReportFullView($automatedReport);
}
/**
* Update an Ask Jiminny report.
*/
public function updateAskJiminnyReport(AutomatedReport $report, array $data, User $user): array
{
if (! $report->isAskJiminnyReport()) {
throw new InvalidArgumentException('Report is not an Ask Jiminny report');
}
$validatedData = $this->validateAskJiminnyReportData($data, $user);
$oldCustomName = $report->getCustomName();
$automatedReport = $this->automatedReportsRepository->update($report, $validatedData);
if ($oldCustomName !== $automatedReport->getCustomName()) {
$this->updateResultNames($automatedReport);
}
return $this->transformReportFullView($automatedReport);
}
public function updateAskJiminnyReportStatus(AutomatedReport $report, bool $status): array
{
$this->automatedReportsRepository->update($report, ['status' => $status]);
return $this->transformReportFullView($report->fresh());
}
/**
* Validate and transform data for Ask Jiminny reports.
*/
private function validateAskJiminnyReportData(array $data, User $user): array
{
// Validate name
$name = trim($data['report_name'] ?? '');
if (empty($name)) {
throw new InvalidArgumentException('Report name is required');
}
if (mb_strlen($name) > 50) {
throw new InvalidArgumentException('Report name must be 50 characters or less');
}
// Validate frequency (only daily, weekly, monthly for Ask Jiminny)
$frequency = $data['frequency'] ?? null;
$askJiminnyFrequencies = [self::FREQUENCY_DAILY, self::FREQUENCY_WEEKLY, self::FREQUENCY_MONTHLY];
if (! in_array($frequency, $askJiminnyFrequencies, true)) {
throw new InvalidArgumentException('Frequency must be daily, weekly, or monthly');
}
// Validate expiration date
$expiresAt = $data['expires_on'] ?? null;
if (empty($expiresAt)) {
throw new InvalidArgumentException('Expiration date is required');
}
try {
$expiresAtDate = Carbon::parse($expiresAt);
} catch (InvalidFormatException $e) {
throw new InvalidArgumentException('Expiration date format is invalid');
}
$maxExpiration = Carbon::now()->addYear()->endOfDay();
if ($expiresAtDate->gt($maxExpiration)) {
throw new InvalidArgumentException('Expiration date cannot be more than 1 year from now');
}
if ($expiresAtDate->isPast()) {
throw new InvalidArgumentException('Expiration date cannot be in the past');
}
// Validate saved search
$activitySearchId = $data['saved_search'] ?? null;
if (empty($activitySearchId)) {
throw new InvalidArgumentException('Saved search is required');
}
$savedSearch = $this->activitySearchRepository->findByUuidAndUser($activitySearchId, $user);
if (! $savedSearch) {
throw new InvalidArgumentException('Saved search not found or does not belong to you');
}
// Validate saved prompt
$askAnythingPromptId = $data['ask_jiminny_prompt'] ?? null;
if (empty($askAnythingPromptId)) {
throw new InvalidArgumentException('Ask Jiminny prompt is required');
}
$prompt = $this->askAnythingRepository->getPromptByUuid($askAnythingPromptId);
if (! $prompt) {
throw new InvalidArgumentException('Ask Jiminny prompt not found');
}
// Validate status
$status = $data['enabled'] ?? false;
$recipientUserIds = [$user->getId()];
if (! empty($data['share_users'])) {
$sharedUserIds = $this->validateAndGetUserIdsByTeam(
$user->team,
(array) $data['share_users']
);
$recipientUserIds = array_merge($recipientUserIds, $sharedUserIds);
}
$sharedGroupIds = [];
if (! empty($data['share_teams'])) {
$sharedGroupIds = $this->validateAndGetGroupIds($user->team, (array) $data['share_teams']);
}
$recipientUserIds = array_values(array_unique($recipientUserIds));
return [
'team_id' => $user->getTeamId(),
'type' => self::TYPE_ASK_JIMINNY,
'status' => (bool) $status,
'frequency' => $frequency,
'custom_name' => $name,
'activity_search_id' => $savedSearch->getId(),
'ask_anything_prompt_id' => $prompt->getId(),
'expires_at' => $expiresAtDate->toDateString(),
'media_types' => [self::MEDIA_TYPE_PDF],
'call_types' => [],
'recipients' => ['users' => $recipientUserIds],
'groups' => $sharedGroupIds,
];
}
public static function getAskJiminnyFrequencies(): array
{
return array_map(static function ($frequency) {
return $frequency['id'];
}, self::ASK_JIMINNY_FREQUENCIES);
}
public function getAskJiminnyReportFilters(User $user): array
{
$savedSearches = $this->activitySearchRepository->findByUserOrderedByName($user)
->map(fn (Search $search) => [
'id' => $search->getUuid(),
'name' => $search->getName(),
])
->values()->all();
$prompts = collect(
$this->askAnythingPromptService->get($user, AskAnythingPromptTarget::on_demand)
)->map(fn (AskAnythingPromptDto $prompt) => [
'id' => $prompt->id,
'name' => $prompt->title,
])->values()->all();
return [
[
'id' => 'prompt',
'label' => 'Prompt',
'options' => $prompts,
],
[
'id' => 'saved_search',
'label' => 'Saved Search',
'options' => $savedSearches,
],
];
}
public function getAskJiminnyReportFormData(User $user, ?AutomatedReport $report = null): array
{
$team = $user->getTeam();
$userTimezone = $user->getTimezone();
$savedSearches = $this->activitySearchRepository->findByUserOrderedByName($user)
->map(fn (Search $search) => [
'id' => $search->getUuid(),
'name' => $search->getName(),
])
->values()->all();
$prompts = collect(
$this->askAnythingPromptService->get($user, AskAnythingPromptTarget::on_demand)
)->map(fn (AskAnythingPromptDto $prompt) => [
'id' => $prompt->id,
'name' => $prompt->title,
])->values()->all();
$teamGroups = $this->groupRepository->getAllByTeam($team)->map(fn ($group) => [
'id' => $group->getUuid(),
'name' => $group->getName(),
])->values()->all();
$shareUsers = $this->recipientsService->getRecipientsFieldData(team: $team)['options'] ?? [];
$sharedTeamsValue = [];
$sharedUsersValue = [];
if ($report) {
$sharedTeamsValue = $this->transformGroups($team, $report->getGroups());
$recipientUserIds = $report->getRecipients()['users'] ?? [];
$creatorId = $report->getAttribute('created_by');
$sharedUserIds = array_values(array_filter(
$recipientUserIds,
static fn ($id) => $id !== $creatorId
));
$sharedUsersValue = collect($sharedUserIds)
->map(fn ($id) => $this->userRepository->find((int) $id))
->filter()
->map(fn (User $u) => [
'id' => $u->getUuid(),
'name' => $u->getName(),
])
->values()
->all();
}
return [
'fields' => [
[
'id' => 'enabled',
'inputType' => InputTypeEnum::TOGGLE,
'label' => '',
'value' => $report?->getStatus() ?? false,
],
[
'id' => 'report_name',
'inputType' => InputTypeEnum::TEXT,
'label' => 'Name',
'placeholder' => 'Enter name',
'required' => true,
'validation' => ['maxLength' => 50],
'value' => $report?->getCustomName() ?? '',
],
[
'id' => 'frequency',
'inputType' => InputTypeEnum::DROPDOWN,
'label' => 'Frequency',
'required' => true,
'placeholder' => 'Select',
'options' => self::A...
|
[{"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":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny","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":"AutomatedReportsServiceTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsServiceTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsServiceTest'","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":"1","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"102","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"34","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\\Services\\Kiosk\\AutomatedReports;\n\nuse Carbon\\CarbonImmutable;\nuse Carbon\\CarbonInterface;\nuse Carbon\\Exceptions\\InvalidFormatException;\nuse DateTime;\nuse DateTimeInterface;\nuse DateTimeZone;\nuse Illuminate\\Contracts\\Bus\\Dispatcher as BusDispatcher;\nuse Illuminate\\Database\\Eloquent\\Builder;\nuse Illuminate\\Support\\Carbon;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\ActivitySearch\\FilterDefinition\\InputTypeEnum;\nuse Jiminny\\Component\\AskAnything\\AskAnythingPromptService;\nuse Jiminny\\Component\\AskAnything\\Dtos\\AskAnythingPromptDto;\nuse Jiminny\\Component\\UrlGenerator\\Webhook;\nuse Jiminny\\Contracts\\Repositories\\PlaybookCategoryRepository;\nuse Jiminny\\Contracts\\Repositories\\TeamRepository;\nuse Jiminny\\Contracts\\Repositories\\UserRepository;\nuse Jiminny\\Exceptions\\ApplicationException;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Exceptions\\ModelNotFoundException;\nuse Jiminny\\Jobs\\AutomatedReports\\RequestGenerateReportJob;\nuse Jiminny\\Models\\Activity\\Search;\nuse Jiminny\\Models\\AskAnything\\AskAnythingPrompt;\nuse Jiminny\\Models\\AskAnything\\AskAnythingPromptTarget;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Models\\Contracts\\UserContract;\nuse Jiminny\\Models\\Feature\\FeatureEnum;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Models\\User;\nuse Jiminny\\Repositories\\AskAnythingRepository;\nuse Jiminny\\Repositories\\AutomatedReportsRepository;\nuse Jiminny\\Repositories\\GroupRepository;\nuse Jiminny\\Repositories\\SearchRepository;\nuse Jiminny\\Repositories\\StageRepository;\nuse Throwable;\n\nclass AutomatedReportsService\n{\n public const string TYPE_LOSS_ANALYSIS = 'loss_analysis';\n public const string TYPE_ASK_JIMINNY = 'ask_jiminny';\n\n /**\n * Standard report types (used by kiosk for existing automated reports).\n */\n // @TODO this will add filter, however if we need to control feature by FF we need conditional logic\n public const array TYPES = [\n ['id' => 'exec_summary', 'name' => 'Exec Summary'],\n ['id' => 'coaching_profiles', 'name' => 'Coaching Profiles'],\n ['id' => 'product_feedback', 'name' => 'Product Feedback'],\n ['id' => self::TYPE_LOSS_ANALYSIS, 'name' => 'Loss Analysis'],\n// ['id' => 'questions', 'name' => 'Questions'],\n// ['id' => 'statistical_quant', 'name' => 'Statistical Quantitative'],\n ];\n\n public const array ALL_TYPES = [\n ...self::TYPES,\n ['id' => self::TYPE_ASK_JIMINNY, 'name' => 'Ask Jiminny'],\n ];\n\n public const string FREQUENCY_DAILY = 'daily';\n public const string FREQUENCY_WEEKLY = 'weekly';\n public const string FREQUENCY_MONTHLY = 'monthly';\n public const string FREQUENCY_QUARTERLY = 'quarterly';\n public const string FREQUENCY_ONE_OFF = 'one_off';\n\n /**\n * Frequencies for standard (non-Ask Jiminny) reports.\n */\n public const array FREQUENCIES = [\n ['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],\n ['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],\n ['id' => self::FREQUENCY_QUARTERLY, 'name' => 'Quarterly'],\n ['id' => self::FREQUENCY_ONE_OFF, 'name' => 'One-off'],\n ];\n\n /**\n * Frequencies for Ask Jiminny reports.\n */\n public const array ASK_JIMINNY_FREQUENCIES = [\n ['id' => self::FREQUENCY_DAILY, 'name' => 'Daily'],\n ['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],\n ['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],\n ];\n\n public const string MEDIA_TYPE_PDF = 'pdf';\n public const string MEDIA_TYPE_PODCAST = 'podcast';\n public const array MEDIA_TYPES = [self::MEDIA_TYPE_PDF, self::MEDIA_TYPE_PODCAST];\n public const array MEDIA_TYPE_OBJECT_PDF = ['id' => self::MEDIA_TYPE_PDF, 'name' => 'PDF'];\n public const array MEDIA_TYPE_OBJECT_PODCAST = ['id' => self::MEDIA_TYPE_PODCAST, 'name' => 'Podcast'];\n public const array MEDIA_TYPE_OBJECTS = [self::MEDIA_TYPE_OBJECT_PDF, self::MEDIA_TYPE_OBJECT_PODCAST];\n\n public const array CALL_TYPE_CONFERENCE = ['id' => 'conference', 'name' => 'Conference'];\n public const array CALL_TYPE_DIALER = ['id' => 'dialer', 'name' => 'Dialer'];\n public const int SENT_REPORT_AT_HOURS = 5;\n public const string PDF_KEY = 'pdf';\n public const string AUDIO_KEY = 'audio';\n\n private const array ALL_FREQUENCIES = [\n ['id' => self::FREQUENCY_DAILY, 'name' => 'Daily'],\n ['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],\n ['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],\n ['id' => self::FREQUENCY_QUARTERLY, 'name' => 'Quarterly'],\n ['id' => self::FREQUENCY_ONE_OFF, 'name' => 'One-off'],\n ];\n private const string S3_DIR = 'reports';\n private const array FILE_EXTENSIONS_VARIANTS = ['html', 'MD', 'pdf'];\n private const array FILE_PODCAST_EXTENSIONS_VARIANTS = ['json', 'mp3', 'ssml'];\n\n public function __construct(\n private readonly TeamRepository $teamRepository,\n private readonly GroupRepository $groupRepository,\n private readonly UserRepository $userRepository,\n private readonly StageRepository $stageRepository,\n private readonly DealStagesService $dealStagesService,\n private readonly RecipientsService $recipientsService,\n private readonly AutomatedReportsRepository $automatedReportsRepository,\n private readonly Webhook $webhookService,\n private readonly BusDispatcher $dispatcher,\n private readonly ActivityTypeService $activityTypeService,\n private readonly PlaybookCategoryRepository $playbookCategoryRepository,\n private readonly AskAnythingPromptService $askAnythingPromptService,\n private readonly SearchRepository $activitySearchRepository,\n private readonly AskAnythingRepository $askAnythingRepository,\n ) {\n }\n\n public static function getTypes(): array\n {\n $types = self::TYPES;\n\n return array_map(static function ($type) {\n return $type['id'];\n }, $types);\n }\n\n public static function getCallTypes(): array\n {\n return array_map(static function ($callType) {\n return $callType['id'];\n }, [self::CALL_TYPE_CONFERENCE, self::CALL_TYPE_DIALER]);\n }\n\n public static function getFrequencies(): array\n {\n return array_map(static function ($frequency) {\n return $frequency['id'];\n }, self::FREQUENCIES);\n }\n\n // front-facing structure\n public function getReportEnabledFieldData(bool $value = false): array\n {\n return [\n 'id' => 'report_enabled',\n 'label' => '',\n 'inputType' => InputTypeEnum::TOGGLE,\n 'value' => $value,\n ];\n }\n\n // Organizations = Teams\n public function getOrganizationFieldData(?string $value = null, bool $shortVersion = false): array\n {\n $options = $this->getTeams();\n\n if ($shortVersion) {\n return [\n 'id' => 'organization',\n 'label' => 'Organization',\n 'options' => $options,\n ];\n }\n\n return [\n 'id' => 'organization',\n 'label' => 'Organization',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => $options,\n 'value' => $value,\n 'dependencies' => [\n 'teams',\n 'deal_stage_at_call',\n 'current_deal_stage',\n 'recipients',\n ActivityTypeService::PLAYBOOK_CATEGORIES_KEY,\n ],\n 'dependsOn' => [],\n ];\n }\n\n // Teams = Groups\n public function getTeamFieldData(array $options = [], array $value = [], bool $shortVersion = false): array\n {\n if ($shortVersion) {\n return [\n 'id' => 'teams',\n 'label' => 'Team',\n 'options' => $options,\n ];\n }\n\n return [\n 'id' => 'teams',\n 'label' => 'Team',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'required' => false,\n 'placeholder' => 'Select',\n 'options' => $options,\n 'value' => $value, // value should be an array of objects {id, name}\n 'dependencies' => [ActivityTypeService::PLAYBOOK_CATEGORIES_KEY],\n 'dependsOn' => [],\n ];\n }\n\n public function getReportTypeFieldData(?string $value = null, bool $shortVersion = false, ?Team $team = null): array\n {\n $types = [];\n if ($team instanceof Team) {\n if ($team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {\n $types = self::TYPES;\n }\n if ($team->hasFeature(FeatureEnum::ASK_JIMINNY_REPORTS)) {\n $types[] = ['id' => self::TYPE_ASK_JIMINNY, 'name' => 'Ask Jiminny'];\n }\n } else {\n $types = self::TYPES;\n }\n\n if ($shortVersion) {\n return [\n 'id' => 'report_type',\n 'label' => 'Report Type',\n 'options' => $types,\n ];\n }\n\n return [\n 'id' => 'report_type',\n 'label' => 'Report Type',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => $types,\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getFrequencyFieldData(?string $value = null): array\n {\n return [\n 'id' => 'frequency',\n 'label' => 'Frequency',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => self::FREQUENCIES,\n 'value' => $value,\n 'dependencies' => ['period'],\n 'dependsOn' => [],\n ];\n }\n\n public function getPeriodFieldData(?string $valueStartDate = null, ?string $valueEndDate = null): array\n {\n return [\n 'id' => 'period',\n 'label' => 'Select one-off period',\n 'inputType' => InputTypeEnum::DATE_RANGE,\n 'required' => true,\n 'placeholder' => 'Select',\n 'value' => ['startDate' => $valueStartDate, 'endDate' => $valueEndDate],\n 'queryParams' => [\n 'startDate' => 'start_date_period',\n 'endDate' => 'end_date_period',\n ],\n 'dependencies' => [],\n 'dependsOn' => ['frequency'],\n ];\n }\n\n public function getActivityTypesFieldData(?Team $team = null, array $value = [], array $teamsFilter = []): array\n {\n return $this->activityTypeService->getActivityTypeFieldData(team: $team, value: $value, groupIds: $teamsFilter);\n }\n\n public function getDealStageAtCallFieldData(?Team $team = null, array $value = []): array\n {\n return $this->dealStagesService->getDealStageAtCallFieldData(team: $team, value: $value);\n }\n\n public function getCurrentDealStageFieldData(?Team $team = null, array $value = []): array\n {\n return $this->dealStagesService->getCurrentDealStageFieldData(team: $team, value: $value);\n }\n\n public function getDealValueFieldData(?int $valueMin = null, ?int $valueMax = null): array\n {\n return [\n 'id' => 'deal_value',\n 'label' => 'Deal Value',\n 'inputType' => InputTypeEnum::INTEGER_RANGE,\n 'required' => false,\n 'value' => ['min' => $valueMin, 'max' => $valueMax],\n 'queryParams' => [\n 'min' => 'min_deal_value',\n 'max' => 'max_deal_value',\n ],\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getCallTypeFieldData(bool $conferenceOn = false, bool $dialerOn = false): array\n {\n $value = [];\n $conferenceOn && $value[] = self::CALL_TYPE_CONFERENCE;\n $dialerOn && $value[] = self::CALL_TYPE_DIALER;\n\n return [\n 'id' => 'call_type',\n 'label' => 'Call Type',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'required' => true,\n 'options' => [\n self::CALL_TYPE_CONFERENCE,\n self::CALL_TYPE_DIALER,\n ],\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getMediaTypeFieldData(?AutomatedReport $report = null): array\n {\n $value = [];\n\n if ($report) {\n $value = $this->transformMediaTypes($report);\n }\n\n return [\n 'id' => 'media_types',\n 'label' => 'Export as',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'required' => true,\n 'options' => self::MEDIA_TYPE_OBJECTS,\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getCallDurationFieldData(?int $valueMin = null, ?int $valueMax = null): array\n {\n return [\n 'id' => 'call_duration',\n 'label' => 'Call Duration',\n 'inputType' => InputTypeEnum::INTEGER_RANGE,\n 'required' => false,\n 'value' => ['min' => $valueMin, 'max' => $valueMax],\n 'queryParams' => [\n 'min' => 'min_call_duration',\n 'max' => 'max_call_duration',\n ],\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getRecipientsFieldData(?Team $team = null, array $value = []): array\n {\n return $this->recipientsService->getRecipientsFieldData(team: $team, value: $value);\n }\n\n public function getJiminnyRecipientsFieldData(array $value = []): array\n {\n return $this->recipientsService->getJiminnyRecipientsFieldData($value);\n }\n\n public function getAdditionalPromptInputFieldData(?string $value = null): array\n {\n return [\n 'id' => 'additional_prompt_input',\n 'label' => 'Special requirements',\n 'inputType' => InputTypeEnum::TEXTAREA,\n 'required' => false,\n 'placeholder' => 'What should be the focus of the report?',\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getCustomReportNameFieldData(?string $value = null): array\n {\n return [\n 'id' => 'custom_name',\n 'label' => 'Custom report name',\n 'inputType' => InputTypeEnum::TEXT,\n 'required' => false,\n 'placeholder' => 'Enter custom name',\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n // data providers\n public function getTeams(): array\n {\n $teams = $this->teamRepository->getTeamsForKiosk(status: Team::STATUS_ACTIVE);\n\n $teamData = [];\n foreach ($teams as $team) {\n if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {\n continue;\n }\n\n $teamData[] = $this->transformTeam($team);\n }\n\n return $teamData;\n }\n\n public function getTeamGroups(string $teamUuid): array\n {\n $data = [];\n $team = $this->getTeam($teamUuid);\n\n if ($team !== null) {\n $groups = $team->groups()->get();\n\n foreach ($groups as $group) {\n $data[] = [\n 'id' => $group->getUuid(),\n 'name' => $group->getName(),\n ];\n }\n }\n\n return $data;\n }\n\n public function getTeamsGroupsOptions(array $filterTeamUuids = []): array\n {\n $data = [];\n $teams = $this->getTeams();\n\n foreach ($teams as $team) {\n if (! empty($filterTeamUuids) && ! in_array($team['id'], $filterTeamUuids, true)) {\n continue;\n }\n\n $data[] = [\n 'label' => $team['name'],\n 'groups' => $this->getTeamGroups($team['id']),\n ];\n }\n\n return $data;\n }\n\n public function getTeam(string $teamUuid): ?Team\n {\n return $this->teamRepository->idOrUuid($teamUuid);\n }\n\n public function getTeamById(int $teamId): ?Team\n {\n return $this->teamRepository->find($teamId);\n }\n\n public function getGroupsUuids(AutomatedReport $report): array\n {\n $uuids = [];\n $reportGroups = $report->getGroups();\n foreach ($reportGroups as $groupId) {\n if ($group = $this->groupRepository->find($groupId)) {\n $uuids[] = $group->getUuid();\n }\n }\n\n return $uuids;\n }\n\n public function getPlaybookCategoriesUuids(AutomatedReport $report): array\n {\n $uuids = [];\n $playbookCategories = $report->getPlaybookCategories();\n foreach ($playbookCategories as $id) {\n if ($category = $this->playbookCategoryRepository->find($id)) {\n $uuids[] = $category->getUuid();\n }\n }\n\n return $uuids;\n }\n\n public function getDealAtCallStagesUuids(AutomatedReport $report): array\n {\n $uuids = [];\n $reportStages = $report->getDealAtCallStages();\n foreach ($reportStages as $id) {\n if ($stage = $this->stageRepository->find($id)) {\n $uuids[] = $stage->getUuid();\n }\n }\n\n return $uuids;\n }\n\n public function getCurrentDealStagesUuids(AutomatedReport $report): array\n {\n $uuids = [];\n $reportStages = $report->getCurrentDealStages();\n foreach ($reportStages as $id) {\n if ($stage = $this->stageRepository->find($id)) {\n $uuids[] = $stage->getUuid();\n }\n }\n\n return $uuids;\n }\n\n public function getUsersUuids(AutomatedReport $report): array\n {\n return $this->extractUserUuids($report->getRecipients());\n }\n\n public function getJiminnyUsersUuids(AutomatedReport $report): array\n {\n return $this->extractUserUuids($report->getJiminnyRecipients());\n }\n\n /**\n * @param array<string, mixed> $recipients\n */\n private function extractUserUuids(array $recipients): array\n {\n $userIds = $recipients['users'] ?? [];\n\n return collect($userIds)\n ->map(fn ($id) => $this->userRepository->find((int) $id))\n ->filter()\n ->map(fn (UserContract $user) => $user->getUuid())\n ->values()\n ->all();\n }\n\n // get mail data\n public function getRecipientUsers(AutomatedReport $report): array\n {\n return $this->buildRecipientUsers($report->getRecipients());\n }\n\n /**\n * @return array<UserContract>\n */\n public function getRecipientUserObjects(AutomatedReport $report): array\n {\n $userIds = $report->getRecipients()['users'] ?? [];\n\n return collect($userIds)\n ->map(fn ($id) => $this->userRepository->find((int) $id))\n ->filter()\n ->values()\n ->all();\n }\n\n private function getJiminnyRecipientUsers(AutomatedReport $report): array\n {\n return $this->buildRecipientUsers($report->getJiminnyRecipients());\n }\n\n /**\n * @param array<string, mixed> $recipients\n */\n private function buildRecipientUsers(array $recipients): array\n {\n $userIds = $recipients['users'] ?? [];\n\n return collect($userIds)\n ->map(fn ($id) => $this->userRepository->find((int) $id))\n ->filter()\n ->map(fn (UserContract $user) => [\n 'email' => $user->getEmailAddress(),\n 'name' => $user->getName(),\n 'timezone' => $user->getTimezone()->getName(),\n ])\n ->values()\n ->all();\n }\n\n public function getValidRecipientUsers(AutomatedReport $report, bool $includeJiminny = false): array\n {\n if ($report->isAskJiminnyReport()) {\n $recipients = $this->resolveAskJiminnyRecipients($report);\n } else {\n $recipients = $this->getRecipientUsers($report);\n if ($includeJiminny) {\n $recipients = array_merge($recipients, $this->getJiminnyRecipientUsers($report));\n }\n }\n\n $emails = [];\n\n return array_values(array_filter(\n $recipients,\n static function ($recipient) use (&$emails) {\n if (empty($recipient['email']) || in_array($recipient['email'], $emails, true)) {\n return false;\n }\n $emails[] = $recipient['email'];\n\n return true;\n }\n ));\n }\n\n private function resolveAskJiminnyRecipients(AutomatedReport $report): array\n {\n $recipients = [];\n\n $creator = $report->getCreator();\n if ($creator !== null) {\n $recipients[] = [\n 'email' => $creator->getEmailAddress(),\n 'name' => $creator->getName(),\n 'timezone' => $creator->getTimezone()->getName(),\n ];\n }\n\n return array_merge(\n $recipients,\n $this->buildRecipientUsers($report->getRecipients()),\n $this->getGroupRecipientUsers($report),\n );\n }\n\n private function getGroupRecipientUsers(AutomatedReport $report): array\n {\n $users = [];\n foreach ($report->getGroups() as $groupId) {\n $group = $this->groupRepository->find($groupId);\n if ($group === null) {\n continue;\n }\n foreach ($group->getMembers() as $member) {\n $users[] = [\n 'email' => $member->getEmailAddress(),\n 'name' => $member->getName(),\n 'timezone' => $member->getTimezone()->getName(),\n ];\n }\n }\n\n return $users;\n }\n\n public function getReportTypeName(AutomatedReportResult $report): string\n {\n $type = $report->getReport()->getType();\n\n $getType = $this->transformReportType($type);\n\n return $getType['name'];\n }\n\n public function getReportPeriodName(AutomatedReportResult $report): string\n {\n $from = $report->getFromDate();\n $to = $report->getToDate();\n $frequency = $report->getReport()->getFrequency();\n\n if ($from === null || $to === null) {\n if (! $report->getReport()->isAskJiminnyReport()) {\n $invalidPeriod = $from === null ? 'from' : 'to';\n\n throw new ApplicationException('Report period is invalid: ' . $invalidPeriod);\n }\n\n $period = $this->calculateFromAndToDatePeriod($frequency);\n $from = $period['fromDate'];\n $to = $period['toDate'];\n }\n\n return $this->formatReportPeriodName($frequency, $from, $to);\n }\n\n private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string\n {\n $fromYear = $from->format('Y');\n $toYear = $to->format('Y');\n $differentYears = $fromYear !== $toYear;\n\n switch ($frequency) {\n case self::FREQUENCY_DAILY:\n return $from->format('j M Y');\n\n case self::FREQUENCY_QUARTERLY:\n // 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ\n $startMonth = $from->format('M');\n $endMonth = $to->copy()->subMonth();\n $endMonthName = $endMonth->format('M');\n $endMonthYear = $endMonth->format('Y');\n\n if ($differentYears) {\n return \"{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}\";\n }\n\n return \"{$startMonth} - {$endMonthName} {$toYear}\";\n\n case self::FREQUENCY_MONTHLY:\n // 'May 2025' - monthly reports are always within the same year\n return $from->format('M Y');\n\n case self::FREQUENCY_WEEKLY:\n // '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ\n $startDay = $from->format('j');\n $endDay = $to->format('j');\n $startMonth = $from->format('M');\n $endMonth = $to->format('M');\n\n if ($differentYears) {\n return \"{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n if ($startMonth !== $endMonth) {\n return \"{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n return \"{$startDay} - {$endDay} {$endMonth} {$toYear}\";\n\n case self::FREQUENCY_ONE_OFF:\n // '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ\n $startDay = $from->format('j');\n $startMonth = $from->format('M');\n $endDay = $to->format('j');\n $endMonth = $to->format('M');\n\n // If same month and year, use a format like '2-31 May 2025'\n if ($startMonth === $endMonth && ! $differentYears) {\n return \"{$startDay} - {$endDay} {$startMonth} {$toYear}\";\n }\n\n // If different years, include both years\n if ($differentYears) {\n return \"{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n // Same year but different months\n return \"{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}\";\n\n default:\n // Default format for unknown frequencies\n return $from->format('j M Y') . ' - ' . $to->format('j M Y');\n }\n }\n\n public function getReportTeamsName(AutomatedReportResult $report): string\n {\n $groups = $report->getGroups();\n\n if (empty($groups)) {\n return 'All';\n }\n\n // Get group names from repository\n $groupNames = [];\n foreach ($groups as $groupId) {\n $group = $this->groupRepository->find($groupId);\n if ($group) {\n $groupNames[] = $group->getName();\n }\n }\n\n if (count($groupNames) === 1) {\n // Single team format\n $teamsName = $groupNames[0];\n } else {\n // Multiple teams format\n $teamsName = implode(', ', $groupNames);\n }\n\n return $teamsName;\n }\n\n public function getReportFileName(AutomatedReportResult $report): string\n {\n $customName = $report->getReport()->getCustomName();\n $periodName = $this->getReportPeriodName($report);\n $filenameSuffix = $this->getFilenameSuffix($report);\n\n if ($customName) {\n if ($filenameSuffix) {\n $customName .= \" {$filenameSuffix}\";\n }\n\n return $this->sanitizeFileName(\"{$customName} - {$periodName}\");\n }\n\n $baseName = $this->getReportTypeName($report);\n\n if ($filenameSuffix) {\n $baseName .= \" {$filenameSuffix}\";\n }\n\n return $this->sanitizeFileName(\"{$baseName} - {$periodName} - {$this->getReportTeamsName($report)}\");\n }\n\n public function getReportFileNameWithExtension(AutomatedReportResult $result): string\n {\n $extension = $this->getMediaTypeMetadata($result)['extension'];\n\n return $this->getReportFileName($result) . '.' . $extension;\n }\n\n public function sanitizeFileName(string $fileName): string\n {\n return str_replace(['/', '\\\\'], '-', $fileName);\n }\n\n public function isUserRecipientOfReport(User $user, AutomatedReport $report): bool\n {\n $recipients = array_map('intval', $report->getRecipients()['users'] ?? []);\n\n return in_array($user->getId(), $recipients);\n }\n \n public function isUserRecipientOfReport(User $user, AutomatedReport $report): bool\n {\n $recipientIds = array_map('intval', $report->getRecipients()['users'] ?? []);\n if (in_array($user->getId(), $recipientIds, true)) {\n return true;\n }\n \n if ($report->isAskJiminnyReport()) {\n $groupId = $user->getGroupId();\n if ($groupId !== null && in_array($groupId, $report->getGroups(), true)) {\n return true;\n }\n }\n \n return false;\n }\n\n public function transformReportResults(Collection $automatedReportResults): array\n {\n $data = [];\n foreach ($automatedReportResults as $automatedReportResult) {\n /** @var AutomatedReportResult $automatedReportResult */\n\n $report = $automatedReportResult->getReport();\n\n $createdBy = $report->getCreator();\n $creator = [\n 'id' => $createdBy?->getUuid(),\n 'name' => $createdBy?->getName(),\n 'email' => $createdBy?->getEmailAddress(),\n 'photoUrl' => $createdBy?->getPhotoUrl(),\n ];\n\n $data[] = [\n 'id' => $automatedReportResult->getUuid(),\n 'name' => $automatedReportResult->getName(),\n 'frequency' => $this->transformFrequency($report->getFrequency()),\n 'recipients' => $this->buildRecipients($report),\n 'report_type' => $this->transformReportType($report->getType()),\n 'media_type' => $automatedReportResult->getMediaType(),\n 'downloadUrl' => $this->generateReportResultDownloadUrl($automatedReportResult),\n 'viewUrl' => $this->generateReportResultViewUrl($automatedReportResult),\n 'generated_at' => $automatedReportResult->getGeneratedAt()?->toIso8601String(),\n 'creator' => $creator,\n ];\n }\n\n return $data;\n }\n\n private function buildRecipients(AutomatedReport $report): array\n {\n $creatorUuid = $report->getCreator()?->getUuid();\n\n $recipients = array_values(array_filter(\n $this->transformRecipients($report->getRecipients()),\n static fn (array $recipient): bool => $recipient['id'] !== $creatorUuid,\n ));\n\n if (! $report->isAskJiminnyReport()) {\n return $recipients;\n }\n\n return [\n ...array_values($this->transformGroups(team: $report->getTeam(), groupsIds: $report->getGroups())),\n ...$recipients,\n ];\n }\n\n public function hasCallTypeConference(AutomatedReport $report): bool\n {\n return in_array(self::CALL_TYPE_CONFERENCE['id'], $report->getCallTypes(), true);\n }\n\n public function hasCallTypeDialer(AutomatedReport $report): bool\n {\n return in_array(self::CALL_TYPE_DIALER['id'], $report->getCallTypes(), true);\n }\n\n // transformers\n private function transformTeam(Team $team): array\n {\n if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {\n return [];\n }\n\n return [\n 'id' => $team->getUuid(),\n 'name' => $team->getName(),\n ];\n }\n\n private function transformReportFullView(AutomatedReport $report): array\n {\n $base = $this->transformReportBase($report);\n\n return $report->getType() === self::TYPE_ASK_JIMINNY\n ? $base + $this->transformAskJiminnyFields($report)\n : $base + $this->transformStandardReportFields($report);\n }\n\n private function transformReportBase(AutomatedReport $report): array\n {\n return [\n 'id' => $report->getUuid(),\n 'organization' => $this->transformOrganization(team: $report->getTeam()),\n 'report_type' => $this->transformReportType($report->getType()),\n 'frequency' => $this->transformFrequency($report->getFrequency()),\n ];\n }\n\n private function transformStandardReportFields(AutomatedReport $report): array\n {\n $team = $report->getTeam();\n\n return [\n 'report_enabled' => $report->getStatus(),\n 'start_date_period' => $report->getFrom()?->format('Y-m-d H:i:s'),\n 'end_date_period' => $report->getTo()?->format('Y-m-d H:i:s'),\n 'deal_value_min' => $report->getDealValueMin(),\n 'deal_value_max' => $report->getDealValueMax(),\n 'call_types' => $this->transformCallType($report->getCallTypes()),\n 'media_types' => $this->transformMediaTypes($report),\n 'call_duration_min' => $this->transformDurationToMinutes($report->getCallDurationMin()),\n 'call_duration_max' => $this->transformDurationToMinutes($report->getCallDurationMax()),\n 'teams' => $this->transformGroups(team: $team, groupsIds: $report->getGroups()),\n 'deal_at_call_stages' => $this->transformStages(team: $team, stagesIds: $report->getDealAtCallStages()),\n 'current_deal_stages' => $this->transformStages(team: $team, stagesIds: $report->getCurrentDealStages()),\n 'recipients' => $this->transformRecipients($report->getRecipients()),\n 'created_by' => $this->transformCreator($report->getCreator()),\n 'additional_prompt_input' => $report->getAdditionalPromptInput(),\n 'custom_name' => $report->getCustomName(),\n 'created_at' => $report->getCreatedAt()->format('Y-m-d H:i:s'),\n 'updated_at' => $report->getUpdatedAt()->format('Y-m-d H:i:s'),\n 'deleted_at' => $report->getDeletedAt()?->format('Y-m-d H:i:s'),\n ];\n }\n\n private function transformAskJiminnyFields(AutomatedReport $report): array\n {\n $team = $report->getTeam();\n $creatorId = $report->getAttribute('created_by');\n $explicitUserIds = array_values(array_filter(\n $report->getRecipients()['users'] ?? [],\n static fn ($id) => $id !== $creatorId\n ));\n\n return [\n 'report_name' => $report->getCustomName(),\n 'enabled' => $report->getStatus(),\n 'share_teams' => $this->transformGroups(team: $team, groupsIds: $report->getGroups()),\n 'share_users' => $this->transformRecipients(['users' => $explicitUserIds]),\n 'saved_search' => $this->transformSafeSearch($report->getSavedSearch()),\n 'ask_jiminny_prompt' => $this->transformAskJiminnyPrompt($report->getAskAnythingPrompt()),\n 'expires_on' => $report->getExpiresAt()?->format('Y-m-d'),\n ];\n }\n\n private function transformOrganization(?Team $team): array\n {\n return [\n 'id' => $team?->getUuid(),\n 'name' => $team?->getName(),\n ];\n }\n\n private function transformReportType(string $type): array\n {\n foreach (self::ALL_TYPES as $typeItem) {\n if ($typeItem['id'] === $type) {\n return $typeItem;\n }\n }\n\n return [];\n }\n\n private function transformCallType(array $types): array\n {\n $result = [];\n $callTypes = [self::CALL_TYPE_CONFERENCE, self::CALL_TYPE_DIALER];\n\n foreach ($types as $type) {\n foreach ($callTypes as $callTypeItem) {\n if ($callTypeItem['id'] === $type) {\n $result[] = $callTypeItem;\n\n break;\n }\n }\n }\n\n return $result;\n }\n\n private function transformMediaTypes(AutomatedReport $report): array\n {\n $values = [];\n\n foreach ($report->getMediaTypes() as $mediaType) {\n if (! in_array($mediaType, self::MEDIA_TYPES, true)) {\n continue;\n }\n\n $values[] = match ($mediaType) {\n self::MEDIA_TYPE_PDF => self::MEDIA_TYPE_OBJECT_PDF,\n self::MEDIA_TYPE_PODCAST => self::MEDIA_TYPE_OBJECT_PODCAST,\n };\n }\n\n return $values;\n }\n\n private function transformFrequency(string $frequency): array\n {\n foreach (self::ALL_FREQUENCIES as $frequencyItem) {\n if ($frequencyItem['id'] === $frequency) {\n return $frequencyItem;\n }\n }\n\n return [];\n }\n\n public function transformDurationToMinutes(?int $duration): ?int\n {\n if (! $duration) {\n return null;\n }\n\n return (int) ($duration / 60);\n }\n\n private function transformGroups(?Team $team, array $groupsIds): array\n {\n if (empty($groupsIds) || ! $team) {\n return [];\n }\n\n $data = [];\n foreach ($groupsIds as $groupId) {\n $group = $team->groups()->where('id', $groupId)->first();\n\n if ($group) {\n $data[] = [\n 'id' => $group->getUuid(),\n 'name' => $group->getName(),\n 'photoUrl' => $group->getPhotoUrl(),\n ];\n }\n }\n\n return $data;\n }\n\n private function transformStages(?Team $team, array $stagesIds): array\n {\n if (empty($stagesIds) || ! $team) {\n return [];\n }\n\n $data = [];\n foreach ($stagesIds as $stageId) {\n $stage = $team->stages()->where('id', $stageId)->first();\n\n if ($stage) {\n $data[] = [\n 'id' => $stage->getUuid(),\n 'name' => $stage->getName(),\n ];\n }\n }\n\n return $data;\n }\n\n private function transformRecipients(array $recipients): array\n {\n $users = [];\n foreach ($recipients['users'] ?? [] as $userId) {\n $users[] = $this->transformUser($userId);\n }\n\n return $users;\n }\n\n private function transformCreator(?User $user): ?array\n {\n if ($user === null) {\n return null;\n }\n\n return $this->transformUser($user->getId());\n }\n\n private function transformAskJiminnyPrompt(?AskAnythingPrompt $prompt): ?array\n {\n if ($prompt === null) {\n return null;\n }\n\n return [\n 'id' => $prompt->getUuid(),\n 'name' => $prompt->getTitle(),\n ];\n }\n\n private function transformSafeSearch(?Search $search): ?array\n {\n if ($search === null) {\n return null;\n }\n\n return [\n 'id' => $search->getUuid(),\n 'name' => $search->getName(),\n ];\n }\n\n private function transformUser(int $userId): array\n {\n /* @var ?User $user */\n $user = $this->userRepository->find($userId);\n\n return [\n 'id' => $user?->getUuid(),\n 'name' => $user?->getName(),\n 'email' => $user?->getEmailAddress(),\n 'photoUrl' => $user?->getPhotoUrl(),\n ];\n }\n\n public function create(array $data): array\n {\n $validatedData = $this->validateAndTransformData($data);\n $validatedData['created_by'] = auth()->id();\n\n $automatedReport = $this->automatedReportsRepository->create($validatedData);\n\n $this->generateOneOffReport($automatedReport);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n public function update(string $uuid, array $data): array\n {\n $validatedData = $this->validateAndTransformData($data);\n $report = $this->automatedReportsRepository->findByUuid($uuid);\n\n if (! $report) {\n throw new InvalidArgumentException('Report not found');\n }\n\n $oldCustomName = $report->getCustomName();\n\n $automatedReport = $this->automatedReportsRepository->update($report, $validatedData);\n\n if ($oldCustomName !== $automatedReport->getCustomName()) {\n $this->updateResultNames($automatedReport);\n }\n\n $this->generateOneOffReport($automatedReport);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n /**\n * Create an Ask Jiminny report.\n */\n public function createAskJiminnyReport(array $data, User $creator): array\n {\n $validatedData = $this->validateAskJiminnyReportData($data, $creator);\n $validatedData['created_by'] = $creator->getId();\n\n $automatedReport = $this->automatedReportsRepository->create($validatedData);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n /**\n * Update an Ask Jiminny report.\n */\n public function updateAskJiminnyReport(AutomatedReport $report, array $data, User $user): array\n {\n if (! $report->isAskJiminnyReport()) {\n throw new InvalidArgumentException('Report is not an Ask Jiminny report');\n }\n\n $validatedData = $this->validateAskJiminnyReportData($data, $user);\n\n $oldCustomName = $report->getCustomName();\n\n $automatedReport = $this->automatedReportsRepository->update($report, $validatedData);\n\n if ($oldCustomName !== $automatedReport->getCustomName()) {\n $this->updateResultNames($automatedReport);\n }\n\n return $this->transformReportFullView($automatedReport);\n }\n\n public function updateAskJiminnyReportStatus(AutomatedReport $report, bool $status): array\n {\n $this->automatedReportsRepository->update($report, ['status' => $status]);\n\n return $this->transformReportFullView($report->fresh());\n }\n\n /**\n * Validate and transform data for Ask Jiminny reports.\n */\n private function validateAskJiminnyReportData(array $data, User $user): array\n {\n // Validate name\n $name = trim($data['report_name'] ?? '');\n if (empty($name)) {\n throw new InvalidArgumentException('Report name is required');\n }\n if (mb_strlen($name) > 50) {\n throw new InvalidArgumentException('Report name must be 50 characters or less');\n }\n\n // Validate frequency (only daily, weekly, monthly for Ask Jiminny)\n $frequency = $data['frequency'] ?? null;\n $askJiminnyFrequencies = [self::FREQUENCY_DAILY, self::FREQUENCY_WEEKLY, self::FREQUENCY_MONTHLY];\n if (! in_array($frequency, $askJiminnyFrequencies, true)) {\n throw new InvalidArgumentException('Frequency must be daily, weekly, or monthly');\n }\n\n // Validate expiration date\n $expiresAt = $data['expires_on'] ?? null;\n if (empty($expiresAt)) {\n throw new InvalidArgumentException('Expiration date is required');\n }\n\n try {\n $expiresAtDate = Carbon::parse($expiresAt);\n } catch (InvalidFormatException $e) {\n throw new InvalidArgumentException('Expiration date format is invalid');\n }\n $maxExpiration = Carbon::now()->addYear()->endOfDay();\n if ($expiresAtDate->gt($maxExpiration)) {\n throw new InvalidArgumentException('Expiration date cannot be more than 1 year from now');\n }\n if ($expiresAtDate->isPast()) {\n throw new InvalidArgumentException('Expiration date cannot be in the past');\n }\n\n // Validate saved search\n $activitySearchId = $data['saved_search'] ?? null;\n if (empty($activitySearchId)) {\n throw new InvalidArgumentException('Saved search is required');\n }\n $savedSearch = $this->activitySearchRepository->findByUuidAndUser($activitySearchId, $user);\n if (! $savedSearch) {\n throw new InvalidArgumentException('Saved search not found or does not belong to you');\n }\n\n // Validate saved prompt\n $askAnythingPromptId = $data['ask_jiminny_prompt'] ?? null;\n if (empty($askAnythingPromptId)) {\n throw new InvalidArgumentException('Ask Jiminny prompt is required');\n }\n $prompt = $this->askAnythingRepository->getPromptByUuid($askAnythingPromptId);\n if (! $prompt) {\n throw new InvalidArgumentException('Ask Jiminny prompt not found');\n }\n\n // Validate status\n $status = $data['enabled'] ?? false;\n\n $recipientUserIds = [$user->getId()];\n\n if (! empty($data['share_users'])) {\n $sharedUserIds = $this->validateAndGetUserIdsByTeam(\n $user->team,\n (array) $data['share_users']\n );\n $recipientUserIds = array_merge($recipientUserIds, $sharedUserIds);\n }\n\n $sharedGroupIds = [];\n if (! empty($data['share_teams'])) {\n $sharedGroupIds = $this->validateAndGetGroupIds($user->team, (array) $data['share_teams']);\n }\n\n $recipientUserIds = array_values(array_unique($recipientUserIds));\n\n return [\n 'team_id' => $user->getTeamId(),\n 'type' => self::TYPE_ASK_JIMINNY,\n 'status' => (bool) $status,\n 'frequency' => $frequency,\n 'custom_name' => $name,\n 'activity_search_id' => $savedSearch->getId(),\n 'ask_anything_prompt_id' => $prompt->getId(),\n 'expires_at' => $expiresAtDate->toDateString(),\n 'media_types' => [self::MEDIA_TYPE_PDF],\n 'call_types' => [],\n 'recipients' => ['users' => $recipientUserIds],\n 'groups' => $sharedGroupIds,\n ];\n }\n\n public static function getAskJiminnyFrequencies(): array\n {\n return array_map(static function ($frequency) {\n return $frequency['id'];\n }, self::ASK_JIMINNY_FREQUENCIES);\n }\n\n public function getAskJiminnyReportFilters(User $user): array\n {\n $savedSearches = $this->activitySearchRepository->findByUserOrderedByName($user)\n ->map(fn (Search $search) => [\n 'id' => $search->getUuid(),\n 'name' => $search->getName(),\n ])\n ->values()->all();\n\n $prompts = collect(\n $this->askAnythingPromptService->get($user, AskAnythingPromptTarget::on_demand)\n )->map(fn (AskAnythingPromptDto $prompt) => [\n 'id' => $prompt->id,\n 'name' => $prompt->title,\n ])->values()->all();\n\n return [\n [\n 'id' => 'prompt',\n 'label' => 'Prompt',\n 'options' => $prompts,\n ],\n [\n 'id' => 'saved_search',\n 'label' => 'Saved Search',\n 'options' => $savedSearches,\n ],\n ];\n }\n\n public function getAskJiminnyReportFormData(User $user, ?AutomatedReport $report = null): array\n {\n $team = $user->getTeam();\n $userTimezone = $user->getTimezone();\n\n $savedSearches = $this->activitySearchRepository->findByUserOrderedByName($user)\n ->map(fn (Search $search) => [\n 'id' => $search->getUuid(),\n 'name' => $search->getName(),\n ])\n ->values()->all();\n\n $prompts = collect(\n $this->askAnythingPromptService->get($user, AskAnythingPromptTarget::on_demand)\n )->map(fn (AskAnythingPromptDto $prompt) => [\n 'id' => $prompt->id,\n 'name' => $prompt->title,\n ])->values()->all();\n\n $teamGroups = $this->groupRepository->getAllByTeam($team)->map(fn ($group) => [\n 'id' => $group->getUuid(),\n 'name' => $group->getName(),\n ])->values()->all();\n\n $shareUsers = $this->recipientsService->getRecipientsFieldData(team: $team)['options'] ?? [];\n\n $sharedTeamsValue = [];\n $sharedUsersValue = [];\n if ($report) {\n $sharedTeamsValue = $this->transformGroups($team, $report->getGroups());\n\n $recipientUserIds = $report->getRecipients()['users'] ?? [];\n $creatorId = $report->getAttribute('created_by');\n $sharedUserIds = array_values(array_filter(\n $recipientUserIds,\n static fn ($id) => $id !== $creatorId\n ));\n $sharedUsersValue = collect($sharedUserIds)\n ->map(fn ($id) => $this->userRepository->find((int) $id))\n ->filter()\n ->map(fn (User $u) => [\n 'id' => $u->getUuid(),\n 'name' => $u->getName(),\n ])\n ->values()\n ->all();\n }\n\n return [\n 'fields' => [\n [\n 'id' => 'enabled',\n 'inputType' => InputTypeEnum::TOGGLE,\n 'label' => '',\n 'value' => $report?->getStatus() ?? false,\n ],\n [\n 'id' => 'report_name',\n 'inputType' => InputTypeEnum::TEXT,\n 'label' => 'Name',\n 'placeholder' => 'Enter name',\n 'required' => true,\n 'validation' => ['maxLength' => 50],\n 'value' => $report?->getCustomName() ?? '',\n ],\n [\n 'id' => 'frequency',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'label' => 'Frequency',\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => self::ASK_JIMINNY_FREQUENCIES,\n 'value' => $report ? $this->transformFrequency($report->getFrequency()) : null,\n ],\n [\n 'id' => 'expires_on',\n 'inputType' => InputTypeEnum::DATE,\n 'label' => 'Expires on',\n 'required' => true,\n 'placeholder' => 'Select',\n 'validation' => [\n 'minDate' => now($userTimezone)->toDateString(),\n 'maxDate' => now($userTimezone)->addYear()->toDateString(),\n ],\n 'value' => $report?->getExpiresAt()?->toDateString(),\n ],\n [\n 'id' => 'share_teams',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'label' => 'Team',\n 'required' => false,\n 'placeholder' => 'Select',\n 'options' => $teamGroups,\n 'value' => $sharedTeamsValue,\n ],\n [\n 'id' => 'share_users',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'label' => 'Team member',\n 'required' => false,\n 'placeholder' => 'Select',\n 'groupLabelKey' => 'label',\n 'groupValuesKey' => 'users',\n 'optionLabelKey' => 'name',\n 'optionValueKey' => 'id',\n 'options' => $shareUsers,\n 'value' => $sharedUsersValue,\n ],\n [\n 'id' => 'saved_search',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'label' => 'Saved search',\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => $savedSearches,\n 'value' => $report && $report->getSavedSearch() ? [\n 'id' => $report->getSavedSearch()->getUuid(),\n 'name' => $report->getSavedSearch()->getName(),\n ] : null,\n ],\n [\n 'id' => 'ask_jiminny_prompt',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'label' => 'Ask Jiminny prompt',\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => $prompts,\n 'value' => $report && $report->getAskAnythingPrompt() ? [\n 'id' => $report->getAskAnythingPrompt()->getUuid(),\n 'name' => $report->getAskAnythingPrompt()->getTitle(),\n ] : null,\n ],\n ],\n ];\n }\n\n private function updateResultNames(AutomatedReport $automatedReport): void\n {\n $results = $this->automatedReportsRepository->getResultsByReport($automatedReport);\n\n foreach ($results as $result) {\n $result->update(['name' => $this->getReportFileName($result)]);\n }\n }\n\n public function updateStatus(string $uuid, array $data): array\n {\n $automatedReport = $this->automatedReportsRepository->findByUuid($uuid);\n\n if (! $automatedReport) {\n throw new ModelNotFoundException('Report not found');\n }\n\n $status = $this->validateReportStatus($data['report_enabled'] ?? null);\n $automatedReport->update([\n 'status' => $status,\n ]);\n\n $this->generateOneOffReport($automatedReport);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n private function generateOneOffReport(AutomatedReport $automatedReport): void\n {\n // the scheduler handles all the other frequency types\n if ($automatedReport->getStatus() === false || $automatedReport->getFrequency() !== self::FREQUENCY_ONE_OFF) {\n return;\n }\n\n $this->dispatcher->dispatch(new RequestGenerateReportJob($automatedReport->getUuid()));\n }\n\n public function getReport(string $uuid): AutomatedReport\n {\n $automatedReport = $this->automatedReportsRepository->findByUuid($uuid);\n\n if (! $automatedReport) {\n throw new ModelNotFoundException('Report not found');\n }\n\n return $automatedReport;\n }\n\n public function get(string $uuid): array\n {\n $automatedReport = $this->getReport($uuid);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n public function list(string $sortColumn = 'created_at', string $sortDirection = 'desc'): array\n {\n $results = [];\n $collection = $this->automatedReportsRepository->getAllStandardReports($sortColumn, $sortDirection);\n\n /** @var AutomatedReport $report */\n foreach ($collection as $report) {\n $results[] = $this->transformReportFullView($report);\n }\n\n return ['data' => $results];\n }\n\n public function listAskJiminnyReports(\n User $user,\n string $sortColumn = 'created_at',\n string $sortDirection = 'desc'\n ): array {\n $results = [];\n $collection = $this->automatedReportsRepository->getAskJiminnyReportsByUser($user, $sortColumn, $sortDirection);\n\n /** @var AutomatedReport $report */\n foreach ($collection as $report) {\n $results[] = $this->transformReportFullView($report);\n }\n\n return ['data' => $results];\n }\n\n public function delete(string $uuid): void\n {\n $automatedReport = $this->automatedReportsRepository->findByUuid($uuid);\n\n if (! $automatedReport) {\n throw new ModelNotFoundException('Report not found');\n }\n\n $automatedReport->delete();\n }\n\n public function createReportResult(AutomatedReport $automatedReport, array $data = []): AutomatedReportResult\n {\n return $this->automatedReportsRepository->createResult(\n array_merge(\n [\n 'report_id' => $automatedReport->getId(),\n 'status' => AutomatedReportResult::STATUS_DEFAULT,\n ],\n $data\n )\n );\n }\n\n public function getOrCreateReportResult(AutomatedReport $automatedReport, array $data = []): AutomatedReportResult\n {\n $existing = $this->automatedReportsRepository->findLatestDefaultOrFailedResult($automatedReport);\n\n if ($existing !== null) {\n $existing->update(['status' => AutomatedReportResult::STATUS_DEFAULT]);\n\n return $existing;\n }\n\n return $this->createReportResult($automatedReport, $data);\n }\n\n public function getReportResult(string $resultUuid): AutomatedReportResult\n {\n $report = $this->automatedReportsRepository->findResultByUuid($resultUuid);\n\n if (! $report) {\n throw new ModelNotFoundException('Report Result not found');\n }\n\n return $report;\n }\n\n public function findChildResult(AutomatedReportResult $result, string $type): ?AutomatedReportResult\n {\n return $this->automatedReportsRepository->findChildResult($result, $type);\n }\n\n // prophet API calls\n /**\n * @throws ApplicationException\n */\n public function getGenerateReportPayload(AutomatedReport $automatedReport, string $reportResultUuid): array\n {\n $period = $this->calculateFromAndToDate($automatedReport);\n $fromDate = $period['fromDate'];\n $toDate = $period['toDate'];\n\n return [\n 'team_id' => $automatedReport->getTeamId(),\n 'request_id' => $reportResultUuid,\n 'report_type' => $automatedReport->getType(),\n 'media_types' => $automatedReport->getMediaTypes(),\n 'from_date' => $fromDate->startOfDay()->format(DateTimeInterface::RFC3339),\n 'to_date' => $toDate->endOfDay()->format(DateTimeInterface::RFC3339),\n 'group_ids' => $automatedReport->getGroups(),\n 'call_deal_stage' => $automatedReport->getDealAtCallStages(),\n 'current_deal_stage' => $automatedReport->getCurrentDealStages(),\n 'deal_min_value' => $automatedReport->getDealValueMin(),\n 'deal_max_value' => $automatedReport->getDealValueMax(),\n 'call_types' => $automatedReport->getCallTypes(),\n 'call_duration_min_seconds' => $automatedReport->getCallDurationMin(),\n 'call_duration_max_seconds' => $automatedReport->getCallDurationMax(),\n 'special_requirements' => $automatedReport->getAdditionalPromptInput(),\n 'callback_url' => $this->getCallbackUrl(),\n 'report_period' => $this->formatReportPeriodName(\n $automatedReport->getFrequency(),\n $fromDate,\n $toDate,\n ),\n 'playbook_categories' => $automatedReport->getPlaybookCategories(),\n 'custom_name' => $automatedReport->getCustomName(),\n ];\n }\n\n // $inputPayload - FE payload structure\n public function getActivitiesCountPayload(array $inputPayload): array\n {\n // Use validateAndTransformData to validate and normalize input\n $validatedData = $this->validateAndTransformData($inputPayload);\n $period = $this->calculateFromAndToDatePeriod(\n $validatedData['frequency'],\n Carbon::parse($validatedData['from']),\n Carbon::parse($validatedData['to']),\n );\n $fromDate = $period['fromDate'];\n $toDate = $period['toDate'];\n\n // Create payload similar to getGenerateReportPayload\n return [\n 'team_id' => $validatedData['team_id'],\n 'group_ids' => $validatedData['groups'] ?? [],\n 'report_type' => $validatedData['type'],\n 'from_date' => $fromDate->format(DateTimeInterface::RFC3339),\n 'to_date' => $toDate->format(DateTimeInterface::RFC3339),\n 'call_deal_stage' => $validatedData['deal_at_call_stages'] ?? [],\n 'current_deal_stage' => $validatedData['current_deal_stages'] ?? [],\n 'deal_min_value' => $validatedData['deal_value_min'] ?? null,\n 'deal_max_value' => $validatedData['deal_value_max'] ?? null,\n 'call_types' => $validatedData['call_types'],\n 'call_duration_min_seconds' => $validatedData['call_duration_min'] ?? null,\n 'call_duration_max_seconds' => $validatedData['call_duration_max'] ?? null,\n 'special_requirements' => $validatedData['additional_prompt_input'] ?? null,\n 'playbook_categories' => $validatedData['playbook_categories'] ?? [],\n 'request_id' => null,\n 'callback_url' => null,\n ];\n }\n\n public function shouldSendReport(array $users, ?CarbonInterface $generatedAt = null): bool\n {\n if (empty($users)) {\n return false;\n }\n\n $earliestTz = collect($users)\n ->mapWithKeys(function (array $user) {\n $tz = new DateTimeZone($user['timezone']);\n $nowUtc = new DateTime('now', new DateTimeZone('UTC'));\n $offset = $tz->getOffset($nowUtc);\n\n return [$user['timezone'] => $offset];\n })\n ->sortDesc()\n ->keys()\n ->first();\n\n $now = Carbon::now($earliestTz);\n $isScheduledTime = (int) $now->format('H') === self::SENT_REPORT_AT_HOURS;\n\n if ($isScheduledTime) {\n return true;\n }\n\n return $this->hasPassedScheduledTime($generatedAt, $earliestTz);\n }\n\n public function hasPassedScheduledTime(?CarbonInterface $generatedAt, string $timezone): bool\n {\n if ($generatedAt === null) {\n return false;\n }\n\n $now = Carbon::now($timezone);\n $scheduledTime = $now->copy()->setTime(self::SENT_REPORT_AT_HOURS, 0, 0);\n\n if ($now->hour < self::SENT_REPORT_AT_HOURS) {\n $scheduledTime = $scheduledTime->subDay();\n }\n\n $scheduledTimeUtc = $scheduledTime->copy()->utc();\n $generatedAtUtc = $generatedAt->copy()->utc();\n $nowUtc = $now->copy()->utc();\n\n return $generatedAtUtc->lt($scheduledTimeUtc) && $nowUtc->gt($scheduledTimeUtc);\n }\n\n public function calculateFromAndToDatePeriod(\n string $frequency,\n ?Carbon $fromDate = null,\n ?Carbon $toDate = null\n ): array {\n if ($frequency === self::FREQUENCY_ONE_OFF) {\n return [\n 'fromDate' => $fromDate,\n 'toDate' => $toDate,\n ];\n }\n\n $now = Carbon::now();\n\n return match ($frequency) {\n self::FREQUENCY_DAILY => [\n 'fromDate' => $now->copy()->subDay()->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_WEEKLY => [\n 'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_MONTHLY => [\n 'fromDate' => $now->copy()->subMonths(1)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_QUARTERLY => [\n 'fromDate' => $now->copy()->subMonths(3)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n default => throw new InvalidArgumentException(\"Unsupported frequency: {$frequency}\"),\n };\n }\n\n private function calculateFromAndToDate(AutomatedReport $automatedReport): array\n {\n return $this->calculateFromAndToDatePeriod(\n $automatedReport->getFrequency(),\n $automatedReport->getFrom(),\n $automatedReport->getTo()\n );\n }\n\n public function getAskJiminnyGenerateReportPayload(\n AutomatedReport $automatedReport,\n AutomatedReportResult $reportResult,\n array $activityIds,\n ): array {\n return [\n 'user_question' => $automatedReport->getAskAnythingPrompt()?->getContent(),\n 'call_ids' => array_map('strval', $activityIds),\n 'team_id' => $automatedReport->getTeamId(),\n 'request_id' => $reportResult->getUuid(),\n 'callback_url' => $this->getCallbackUrl(),\n 'report_period' => $this->getReportPeriodName($reportResult),\n 'report_name' => $automatedReport->getCustomName(),\n ];\n }\n\n private function getCallbackUrl(): string\n {\n return $this->webhookService->route('jiminny.webhook.reports.ready');\n }\n\n /**\n * Validate and transform payload data for automated reports\n *\n * @param array $data\n *\n * @throws InvalidArgumentException\n *\n * @return array\n */\n private function validateAndTransformData(array $data): array\n {\n // Validate organization (team) and check feature\n $team = $this->validateOrganization($data['organization'] ?? null);\n\n $status = $this->validateReportStatus($data['report_enabled'] ?? null);\n $type = $this->validateReportType($data['report_type'] ?? null);\n $frequency = $this->validateFrequency($data['frequency'] ?? null);\n $additionalPromptInput = $this->validateAdditionalPromptInput(\n $data['additional_prompt_input'] ?? null\n );\n $customReportName = $this->validateCustomReportName($data['custom_name'] ?? null);\n\n // Prepare data for the database\n $reportData = [\n 'team_id' => $team->getId(),\n 'type' => $type,\n 'status' => $status,\n 'frequency' => $frequency,\n 'additional_prompt_input' => $additionalPromptInput,\n 'custom_name' => $customReportName,\n ];\n\n // Validate deal values\n $reportData = $this->validateDealValues($data, $reportData);\n\n // Validate date range\n $reportData = $this->validateDateRange($data, $reportData, $frequency);\n\n // Validate call durations\n $reportData = $this->validateCallDurations($data, $reportData);\n\n // Validate call types\n $reportData = $this->validateCallTypes($data, $reportData);\n\n // Validate media types\n $reportData = $this->validateMediaTypes($data, $reportData);\n\n // Validate groups\n if (isset($data['teams'])) {\n $reportData['groups'] = $this->validateAndGetGroupIds($team, $data['teams']);\n }\n\n // Validate deal stages\n $reportData = $this->validateDealStages($data, $reportData, $team, $type);\n\n // Validate playbook categories\n $reportData = $this->validatePlaybookCategories($data, $reportData, $team);\n\n // Validate recipients\n $reportData['recipients'] = [\n 'users' => $this->validateAndGetUserIdsByTeam($team, $data['recipients'] ?? []),\n ];\n\n if (isset($data['jiminny_recipients'])) {\n // Validate Jiminny recipients\n $reportData['jiminny_recipients'] = [\n 'users' => $this->validateAndGetJiminnyUserIds((array) $data['jiminny_recipients']),\n ];\n }\n\n return $reportData;\n }\n\n private function validateDealValues(array $data, array $reportData): array\n {\n if (isset($data['min_deal_value'])) {\n $reportData['deal_value_min'] = (int) $data['min_deal_value'];\n\n if ($reportData['deal_value_min'] > 4294967295 || $reportData['deal_value_min'] < 0) {\n throw new InvalidArgumentException('Min deal value should be between 0 and 4294967295');\n }\n }\n\n if (isset($data['max_deal_value'])) {\n $reportData['deal_value_max'] = (int) $data['max_deal_value'];\n\n if ($reportData['deal_value_max'] > 4294967295 || $reportData['deal_value_max'] < 0) {\n throw new InvalidArgumentException('Max deal value should be between 0 and 4294967295');\n }\n }\n\n if (isset($data['min_deal_value'], $data['max_deal_value'])\n && $data['min_deal_value'] > $data['max_deal_value']\n ) {\n throw new InvalidArgumentException('Min deal value cannot be greater than max deal value');\n }\n\n return $reportData;\n }\n\n private function validateDateRange(array $data, array $reportData, string $frequency): array\n {\n // Set date range only for one_off frequency\n if ($frequency === 'one_off') {\n if (isset($data['start_date_period'])) {\n $reportData['from'] = $this->parseDate($data['start_date_period']);\n }\n\n if (isset($data['end_date_period'])) {\n $reportData['to'] = $this->parseDate($data['end_date_period']);\n }\n\n if (empty($reportData['from']) || empty($reportData['to'])) {\n throw new InvalidArgumentException(\n 'Start date and end date are required for one_off frequency'\n );\n }\n } else {\n $reportData['from'] = null;\n $reportData['to'] = null;\n }\n\n return $reportData;\n }\n\n private function validateCallDurations(array $data, array $reportData): array\n {\n // Convert call durations from minutes to seconds\n if (isset($data['min_call_duration'])) {\n $reportData['call_duration_min'] = (int) $data['min_call_duration'] * 60;\n\n if ($reportData['call_duration_min'] > 4294967295 || $reportData['call_duration_min'] < 0) {\n throw new InvalidArgumentException('Min call duration should be between 0 and 4294967295');\n }\n }\n\n if (isset($data['max_call_duration'])) {\n $reportData['call_duration_max'] = (int) $data['max_call_duration'] * 60;\n\n if ($reportData['call_duration_max'] > 4294967295 || $reportData['call_duration_max'] < 0) {\n throw new InvalidArgumentException('Max call duration should be between 0 and 4294967295');\n }\n }\n\n return $reportData;\n }\n\n private function validateCallTypes(array $data, array $reportData): array\n {\n // Set call types\n $reportData['call_types'] = $data['call_type'] ?? [];\n if (empty($reportData['call_types'])) {\n $reportData['call_types'] = self::getCallTypes();\n }\n\n foreach ($reportData['call_types'] as $callType) {\n if (! in_array($callType, self::getCallTypes(), true)) {\n throw new InvalidArgumentException(sprintf('Call type %s is invalid', $callType));\n }\n }\n\n return $reportData;\n }\n\n private function validateMediaTypes(array $data, array $reportData): array\n {\n // Set media types from input data\n $reportData['media_types'] = $data['media_types'] ?? [];\n\n if (empty($reportData['media_types'])) {\n throw new InvalidArgumentException('Media types are required');\n }\n\n foreach ($reportData['media_types'] as $mediaType) {\n if (! in_array($mediaType, self::MEDIA_TYPES, true)) {\n throw new InvalidArgumentException(sprintf('Media type %s is invalid', $mediaType));\n }\n }\n\n return $reportData;\n }\n\n private function validateDealStages(array $data, array $reportData, Team $team, string $reportType): array\n {\n // Validate and set deal stages\n if (isset($data['deal_stage_at_call'])) {\n $reportData['deal_at_call_stages'] =\n $this->validateAndGetDealStageIds($team, $data['deal_stage_at_call'], 'Deal stage at call');\n }\n\n if (isset($data['current_deal_stage'])) {\n $reportData['current_deal_stages'] =\n $this->validateAndGetDealStageIds($team, $data['current_deal_stage'], 'Current deal stage');\n }\n\n // Ensure current_deal_stage is not provided for loss_analysis report type\n if ($reportType === self::TYPE_LOSS_ANALYSIS && ! empty($data['current_deal_stage'])) {\n throw new InvalidArgumentException('Current deal stage is not applicable for Loss Analysis reports');\n }\n\n return $reportData;\n }\n\n // transform uuid to id\n private function validatePlaybookCategories(array $data, array $reportData, Team $team): array\n {\n $key = 'playbook_categories';\n\n if (isset($data[$key])) {\n $payloadIds = $data[$key];\n $ids = [];\n\n foreach ($payloadIds as $uuid) {\n $uuid = (string) $uuid;\n\n try {\n $playbookCategory = $this->playbookCategoryRepository->findByUuid($uuid);\n } catch (Throwable $throwable) {\n Log::error(__METHOD__ . ' ' . $throwable->getMessage());\n\n throw new InvalidArgumentException(sprintf('Playbook category %s not found', $uuid));\n }\n\n if (! $playbookCategory) {\n throw new InvalidArgumentException(sprintf('Playbook category %s not found', $uuid));\n }\n\n if (! $playbookCategory->hasPlaybook()) {\n throw new InvalidArgumentException(sprintf('Playbook category %s has no playbook', $uuid));\n }\n\n if ($playbookCategory->getPlaybook()->getTeamId() !== $team->getId()) {\n throw new InvalidArgumentException(\n sprintf('Playbook category %s not found for team %s', $uuid, $team->getUuid())\n );\n }\n\n $ids[] = $playbookCategory->getId();\n }\n\n $reportData[$key] = $ids;\n }\n\n return $reportData;\n }\n\n private function validateReportStatus($status): bool\n {\n if (! in_array($status, [true, false], true)) {\n throw new InvalidArgumentException('Report status is invalid');\n }\n\n return $status;\n }\n\n private function validateReportType($type): string\n {\n if (! in_array($type, self::getTypes(), true)) {\n throw new InvalidArgumentException(sprintf('Report type is invalid: %s', $type));\n }\n\n return $type;\n }\n\n private function validateFrequency($frequency): string\n {\n if (! in_array($frequency, self::getFrequencies(), true)) {\n throw new InvalidArgumentException('Frequency is invalid');\n }\n\n return $frequency;\n }\n\n private function validateAdditionalPromptInput(?string $additionalPromptInput): ?string\n {\n if ($additionalPromptInput && strlen($additionalPromptInput) > 5000) {\n throw new InvalidArgumentException('Additional Prompt Input should be less than 5000 characters');\n }\n\n return $additionalPromptInput;\n }\n\n private function validateCustomReportName(?string $customReportName): ?string\n {\n if ($customReportName === null || $customReportName === '') {\n return null;\n }\n\n if (strlen($customReportName) > 70) {\n throw new InvalidArgumentException('Custom report name should be less than 70 characters');\n }\n\n return $customReportName;\n }\n\n private function validateOrganization(?string $organizationUuid): Team\n {\n if (! $organizationUuid) {\n throw new InvalidArgumentException('Organization is required');\n }\n\n $team = $this->teamRepository->idOrUuid($organizationUuid);\n\n if (! $team) {\n throw new InvalidArgumentException('Organization not found');\n }\n\n if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {\n throw new InvalidArgumentException('Organization does not have the Automated Reports feature');\n }\n\n return $team;\n }\n\n private function validateAndGetGroupIds(Team $team, array $teamUuids): array\n {\n $groupIds = [];\n\n foreach ($teamUuids as $uuid) {\n $group = $this->groupRepository->findByUuid($uuid);\n\n if ($group === null || $group->getTeamId() !== $team->getId()) {\n throw new InvalidArgumentException(\n sprintf('Group %s not found for team %s', $uuid, $team->getUuid())\n );\n }\n\n $groupIds[] = $group->getId();\n\n }\n\n return $groupIds;\n }\n\n private function validateAndGetDealStageIds(Team $team, array $stageUuids, string $propertyLabel): array\n {\n $stageIds = [];\n\n foreach ($stageUuids as $uuid) {\n $stage = $this->stageRepository->findByUuid($uuid);\n\n if ($stage === null || $stage->getTeamId() !== $team->getId()) {\n throw new InvalidArgumentException(\n sprintf('Stage %s not found for team %s for %s', $uuid, $team->getUuid(), $propertyLabel)\n );\n }\n\n $stageIds[] = $stage->getId();\n }\n\n return $stageIds;\n }\n\n private function validateAndGetUserIds(array $userUuids, callable $teamCheck): array\n {\n if (empty($userUuids)) {\n return [];\n }\n\n $userIds = [];\n\n foreach ($userUuids as $uuid) {\n $user = $this->userRepository->findByUuid($uuid);\n\n if (! $user || ! $user->isStatusActive()) {\n throw new InvalidArgumentException(\n sprintf('User %s not found or is not active', $uuid)\n );\n }\n\n if (! $teamCheck($user)) {\n throw new InvalidArgumentException(\n sprintf('User %s does not belong to the allowed team(s)', $uuid)\n );\n }\n\n $userIds[] = $user->getId();\n }\n\n return $userIds;\n }\n\n private function validateAndGetUserIdsByTeam(Team $team, array $userUuids): array\n {\n return $this->validateAndGetUserIds($userUuids, fn ($user) => $user->getTeamId() === $team->getId());\n }\n\n private function validateAndGetJiminnyUserIds(array $userUuids): array\n {\n $allowedTeamIds = config('kiosk.teamIds', []);\n\n return $this->validateAndGetUserIds($userUuids, fn ($user) => in_array($user->getTeamId(), $allowedTeamIds, true));\n }\n\n private function parseDate(string $dateString): string\n {\n return date('Y-m-d H:i:s', strtotime($dateString));\n }\n\n private function generateReportResultViewUrl(AutomatedReportResult $result): string\n {\n $mediaResource = $this->getReportMediaRouteResource($result);\n\n return route('ai-reports.' . $mediaResource . '.view', ['uuid' => $result->getUuid()]);\n }\n\n private function generateReportResultDownloadUrl(AutomatedReportResult $result): string\n {\n $mediaResource = $this->getReportMediaRouteResource($result);\n\n return route('ai-reports.' . $mediaResource . '.download', ['uuid' => $result->getUuid()]);\n }\n\n private function getReportMediaRouteResource(AutomatedReportResult $result): string\n {\n if ($result->getMediaType() === self::MEDIA_TYPE_PDF) {\n return self::PDF_KEY;\n } elseif ($result->getMediaType() === self::MEDIA_TYPE_PODCAST) {\n return self::AUDIO_KEY;\n }\n\n throw new \\InvalidArgumentException('Unknown media type.');\n }\n\n public function getMediaPath(AutomatedReportResult $result): ?string\n {\n $url = match ($result->getMediaType()) {\n self::MEDIA_TYPE_PDF => $result->getPdfUrl(),\n self::MEDIA_TYPE_PODCAST => $result->getPodcastAudioUrl(),\n default => null,\n };\n\n if ($url === null) {\n return null;\n }\n\n $path = parse_url(trim($url, '\"\\''), PHP_URL_PATH);\n\n return $path ?: null;\n }\n\n public function getFilenameSuffix(AutomatedReportResult $result): ?string\n {\n return match ($result->getMediaType()) {\n self::MEDIA_TYPE_PODCAST => 'Podcast',\n default => null,\n };\n }\n\n public function getMailSubjectSuffix(AutomatedReportResult $result): string\n {\n return match ($result->getMediaType()) {\n self::MEDIA_TYPE_PDF => 'report',\n self::MEDIA_TYPE_PODCAST => 'podcast',\n default => '',\n };\n }\n\n public function getMediaTypeMetadata(AutomatedReportResult $result): array\n {\n return match ($result->getMediaType()) {\n self::MEDIA_TYPE_PODCAST => ['extension' => 'mp3', 'mime' => 'audio/mpeg'],\n self::MEDIA_TYPE_PDF => ['extension' => 'pdf', 'mime' => 'application/pdf'],\n default => ['extension' => null, 'mime' => null],\n };\n }\n\n public function deleteS3Files(AutomatedReportResult $result): void\n {\n $teamUuid = $result->getReport()->getTeam()->getUuid();\n $reportUuid = $result->getUuid();\n\n // delete all files for a report uuid no mather of pdf, podcast, or both\n // in case of both - the podcast files are linked to the pdf (parent) uuid\n // pdf and podcast date times should be close\n $path = sprintf('%s/%s/%s', $teamUuid, self::S3_DIR, $reportUuid);\n\n foreach (self::FILE_EXTENSIONS_VARIANTS as $extension) {\n $file = $path . '.' . $extension;\n\n if (Storage::exists($file)) {\n Storage::delete($file);\n Log::info('[Reports] Deleted S3 file', [\n 'path' => $file,\n ]);\n }\n }\n\n foreach (self::FILE_PODCAST_EXTENSIONS_VARIANTS as $extension) {\n $file = $path . '_podcast.' . $extension;\n\n if (Storage::exists($file)) {\n Storage::delete($file);\n Log::info('[Reports] Deleted Podcast S3 file', [\n 'path' => $file,\n ]);\n }\n }\n }\n\n /**\n *\n * @param int|null $teamId Optional team ID to filter results\n *\n * @return Collection<int, int> Collection of team IDs\n */\n public function getTeamIdsWithReportsResults(?int $teamId = null): Collection\n {\n return $this->automatedReportsRepository->getTeamIdsWithReportsResults($teamId);\n }\n\n /**\n * Core delete logic for report results using a query\n *\n * @param Builder $query\n * @param array $logContext\n *\n * @return int\n */\n private function deleteReportResultsByQuery(Builder $query, array $logContext = []): int\n {\n $deletedCount = 0;\n\n if ($query->exists()) {\n Log::info(\n 'Run delete report results',\n array_merge(\n $logContext,\n [\n 'service' => 'AutomatedReportsService',\n ]\n )\n );\n\n $query->chunkById(50, function ($results) use (&$deletedCount, $logContext) {\n foreach ($results as $result) {\n $this->deleteReportResult($result);\n $deletedCount++;\n\n Log::info(\n 'Deleted a report result',\n array_merge(\n $logContext,\n [\n 'result_id' => $result->getId(),\n 'report_id' => $result->getReportId(),\n ]\n )\n );\n }\n });\n }\n\n return $deletedCount;\n }\n\n /**\n * Delete report results for a team by retention period\n *\n * @param Team $team\n * @param CarbonImmutable $retentionDate\n *\n * @return int Number of deleted report results\n */\n public function deleteReportsResultsInRetentionPeriod(Team $team, CarbonImmutable $retentionDate): int\n {\n $reportIds = $this->automatedReportsRepository->getReportIdsByTeam($team);\n\n if ($reportIds->isEmpty()) {\n return 0;\n }\n\n $query = $this->automatedReportsRepository\n ->getReportResultsQueryForRetention($team, $retentionDate);\n\n return $this->deleteReportResultsByQuery($query, [\n 'team_id' => $team->getId(),\n 'retention_date' => $retentionDate->toDateTimeString(),\n ]);\n }\n\n /**\n * Delete ALL report results for a specific automated report\n *\n * @param string $uuid\n *\n * @return int\n */\n public function deleteReportResults(string $uuid): int\n {\n $report = $this->getReport($uuid);\n\n $query = $this->automatedReportsRepository->getResultsByReportQuery($report);\n\n return $this->deleteReportResultsByQuery($query, [\n 'report_uuid' => $uuid,\n 'report_id' => $report->getId(),\n ]);\n }\n\n public function deleteReportResult(AutomatedReportResult $result): void\n {\n $this->deleteS3Files($result);\n\n $result->delete();\n }\n\n /**\n * Get all reports for a specific team\n *\n * @param Team $team\n *\n * @return \\Illuminate\\Database\\Eloquent\\Collection\n */\n public function getTeamReports(Team $team): \\Illuminate\\Database\\Eloquent\\Collection\n {\n return $this->automatedReportsRepository->getReportsByTeam($team);\n }\n\n /**\n * Get all report results for a specific report\n *\n * @param AutomatedReport $report\n *\n * @return \\Illuminate\\Database\\Eloquent\\Collection\n */\n public function getReportResults(AutomatedReport $report): \\Illuminate\\Database\\Eloquent\\Collection\n {\n return $this->automatedReportsRepository->getResultsByReport($report);\n }\n\n public function deleteAllReportResults(AutomatedReport $report): void\n {\n $results = $this->getReportResults($report);\n\n /** @var AutomatedReportResult $result */\n foreach ($results as $result) {\n Log::info('Deleting result', [\n 'report' => $report->getId(),\n 'result' => $result->getId(),\n ]);\n\n $this->deleteReportResult($result);\n }\n }\n\n public function deleteAllData(Team $team): void\n {\n Log::info('Deleting automated report and results for team', [\n 'team' => $team->getId(),\n ]);\n\n $reports = $this->getTeamReports($team);\n\n /** @var AutomatedReport $report */\n foreach ($reports as $report) {\n Log::info('Deleting report', [\n 'team' => $team->getId(),\n 'report' => $report->getId(),\n ]);\n\n $this->deleteAllReportResults($report);\n\n $report->delete();\n }\n }\n}","depth":4,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Services\\Kiosk\\AutomatedReports;\n\nuse Carbon\\CarbonImmutable;\nuse Carbon\\CarbonInterface;\nuse Carbon\\Exceptions\\InvalidFormatException;\nuse DateTime;\nuse DateTimeInterface;\nuse DateTimeZone;\nuse Illuminate\\Contracts\\Bus\\Dispatcher as BusDispatcher;\nuse Illuminate\\Database\\Eloquent\\Builder;\nuse Illuminate\\Support\\Carbon;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Jiminny\\Component\\ActivitySearch\\FilterDefinition\\InputTypeEnum;\nuse Jiminny\\Component\\AskAnything\\AskAnythingPromptService;\nuse Jiminny\\Component\\AskAnything\\Dtos\\AskAnythingPromptDto;\nuse Jiminny\\Component\\UrlGenerator\\Webhook;\nuse Jiminny\\Contracts\\Repositories\\PlaybookCategoryRepository;\nuse Jiminny\\Contracts\\Repositories\\TeamRepository;\nuse Jiminny\\Contracts\\Repositories\\UserRepository;\nuse Jiminny\\Exceptions\\ApplicationException;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Exceptions\\ModelNotFoundException;\nuse Jiminny\\Jobs\\AutomatedReports\\RequestGenerateReportJob;\nuse Jiminny\\Models\\Activity\\Search;\nuse Jiminny\\Models\\AskAnything\\AskAnythingPrompt;\nuse Jiminny\\Models\\AskAnything\\AskAnythingPromptTarget;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Models\\Contracts\\UserContract;\nuse Jiminny\\Models\\Feature\\FeatureEnum;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Models\\User;\nuse Jiminny\\Repositories\\AskAnythingRepository;\nuse Jiminny\\Repositories\\AutomatedReportsRepository;\nuse Jiminny\\Repositories\\GroupRepository;\nuse Jiminny\\Repositories\\SearchRepository;\nuse Jiminny\\Repositories\\StageRepository;\nuse Throwable;\n\nclass AutomatedReportsService\n{\n public const string TYPE_LOSS_ANALYSIS = 'loss_analysis';\n public const string TYPE_ASK_JIMINNY = 'ask_jiminny';\n\n /**\n * Standard report types (used by kiosk for existing automated reports).\n */\n // @TODO this will add filter, however if we need to control feature by FF we need conditional logic\n public const array TYPES = [\n ['id' => 'exec_summary', 'name' => 'Exec Summary'],\n ['id' => 'coaching_profiles', 'name' => 'Coaching Profiles'],\n ['id' => 'product_feedback', 'name' => 'Product Feedback'],\n ['id' => self::TYPE_LOSS_ANALYSIS, 'name' => 'Loss Analysis'],\n// ['id' => 'questions', 'name' => 'Questions'],\n// ['id' => 'statistical_quant', 'name' => 'Statistical Quantitative'],\n ];\n\n public const array ALL_TYPES = [\n ...self::TYPES,\n ['id' => self::TYPE_ASK_JIMINNY, 'name' => 'Ask Jiminny'],\n ];\n\n public const string FREQUENCY_DAILY = 'daily';\n public const string FREQUENCY_WEEKLY = 'weekly';\n public const string FREQUENCY_MONTHLY = 'monthly';\n public const string FREQUENCY_QUARTERLY = 'quarterly';\n public const string FREQUENCY_ONE_OFF = 'one_off';\n\n /**\n * Frequencies for standard (non-Ask Jiminny) reports.\n */\n public const array FREQUENCIES = [\n ['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],\n ['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],\n ['id' => self::FREQUENCY_QUARTERLY, 'name' => 'Quarterly'],\n ['id' => self::FREQUENCY_ONE_OFF, 'name' => 'One-off'],\n ];\n\n /**\n * Frequencies for Ask Jiminny reports.\n */\n public const array ASK_JIMINNY_FREQUENCIES = [\n ['id' => self::FREQUENCY_DAILY, 'name' => 'Daily'],\n ['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],\n ['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],\n ];\n\n public const string MEDIA_TYPE_PDF = 'pdf';\n public const string MEDIA_TYPE_PODCAST = 'podcast';\n public const array MEDIA_TYPES = [self::MEDIA_TYPE_PDF, self::MEDIA_TYPE_PODCAST];\n public const array MEDIA_TYPE_OBJECT_PDF = ['id' => self::MEDIA_TYPE_PDF, 'name' => 'PDF'];\n public const array MEDIA_TYPE_OBJECT_PODCAST = ['id' => self::MEDIA_TYPE_PODCAST, 'name' => 'Podcast'];\n public const array MEDIA_TYPE_OBJECTS = [self::MEDIA_TYPE_OBJECT_PDF, self::MEDIA_TYPE_OBJECT_PODCAST];\n\n public const array CALL_TYPE_CONFERENCE = ['id' => 'conference', 'name' => 'Conference'];\n public const array CALL_TYPE_DIALER = ['id' => 'dialer', 'name' => 'Dialer'];\n public const int SENT_REPORT_AT_HOURS = 5;\n public const string PDF_KEY = 'pdf';\n public const string AUDIO_KEY = 'audio';\n\n private const array ALL_FREQUENCIES = [\n ['id' => self::FREQUENCY_DAILY, 'name' => 'Daily'],\n ['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],\n ['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],\n ['id' => self::FREQUENCY_QUARTERLY, 'name' => 'Quarterly'],\n ['id' => self::FREQUENCY_ONE_OFF, 'name' => 'One-off'],\n ];\n private const string S3_DIR = 'reports';\n private const array FILE_EXTENSIONS_VARIANTS = ['html', 'MD', 'pdf'];\n private const array FILE_PODCAST_EXTENSIONS_VARIANTS = ['json', 'mp3', 'ssml'];\n\n public function __construct(\n private readonly TeamRepository $teamRepository,\n private readonly GroupRepository $groupRepository,\n private readonly UserRepository $userRepository,\n private readonly StageRepository $stageRepository,\n private readonly DealStagesService $dealStagesService,\n private readonly RecipientsService $recipientsService,\n private readonly AutomatedReportsRepository $automatedReportsRepository,\n private readonly Webhook $webhookService,\n private readonly BusDispatcher $dispatcher,\n private readonly ActivityTypeService $activityTypeService,\n private readonly PlaybookCategoryRepository $playbookCategoryRepository,\n private readonly AskAnythingPromptService $askAnythingPromptService,\n private readonly SearchRepository $activitySearchRepository,\n private readonly AskAnythingRepository $askAnythingRepository,\n ) {\n }\n\n public static function getTypes(): array\n {\n $types = self::TYPES;\n\n return array_map(static function ($type) {\n return $type['id'];\n }, $types);\n }\n\n public static function getCallTypes(): array\n {\n return array_map(static function ($callType) {\n return $callType['id'];\n }, [self::CALL_TYPE_CONFERENCE, self::CALL_TYPE_DIALER]);\n }\n\n public static function getFrequencies(): array\n {\n return array_map(static function ($frequency) {\n return $frequency['id'];\n }, self::FREQUENCIES);\n }\n\n // front-facing structure\n public function getReportEnabledFieldData(bool $value = false): array\n {\n return [\n 'id' => 'report_enabled',\n 'label' => '',\n 'inputType' => InputTypeEnum::TOGGLE,\n 'value' => $value,\n ];\n }\n\n // Organizations = Teams\n public function getOrganizationFieldData(?string $value = null, bool $shortVersion = false): array\n {\n $options = $this->getTeams();\n\n if ($shortVersion) {\n return [\n 'id' => 'organization',\n 'label' => 'Organization',\n 'options' => $options,\n ];\n }\n\n return [\n 'id' => 'organization',\n 'label' => 'Organization',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => $options,\n 'value' => $value,\n 'dependencies' => [\n 'teams',\n 'deal_stage_at_call',\n 'current_deal_stage',\n 'recipients',\n ActivityTypeService::PLAYBOOK_CATEGORIES_KEY,\n ],\n 'dependsOn' => [],\n ];\n }\n\n // Teams = Groups\n public function getTeamFieldData(array $options = [], array $value = [], bool $shortVersion = false): array\n {\n if ($shortVersion) {\n return [\n 'id' => 'teams',\n 'label' => 'Team',\n 'options' => $options,\n ];\n }\n\n return [\n 'id' => 'teams',\n 'label' => 'Team',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'required' => false,\n 'placeholder' => 'Select',\n 'options' => $options,\n 'value' => $value, // value should be an array of objects {id, name}\n 'dependencies' => [ActivityTypeService::PLAYBOOK_CATEGORIES_KEY],\n 'dependsOn' => [],\n ];\n }\n\n public function getReportTypeFieldData(?string $value = null, bool $shortVersion = false, ?Team $team = null): array\n {\n $types = [];\n if ($team instanceof Team) {\n if ($team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {\n $types = self::TYPES;\n }\n if ($team->hasFeature(FeatureEnum::ASK_JIMINNY_REPORTS)) {\n $types[] = ['id' => self::TYPE_ASK_JIMINNY, 'name' => 'Ask Jiminny'];\n }\n } else {\n $types = self::TYPES;\n }\n\n if ($shortVersion) {\n return [\n 'id' => 'report_type',\n 'label' => 'Report Type',\n 'options' => $types,\n ];\n }\n\n return [\n 'id' => 'report_type',\n 'label' => 'Report Type',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => $types,\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getFrequencyFieldData(?string $value = null): array\n {\n return [\n 'id' => 'frequency',\n 'label' => 'Frequency',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => self::FREQUENCIES,\n 'value' => $value,\n 'dependencies' => ['period'],\n 'dependsOn' => [],\n ];\n }\n\n public function getPeriodFieldData(?string $valueStartDate = null, ?string $valueEndDate = null): array\n {\n return [\n 'id' => 'period',\n 'label' => 'Select one-off period',\n 'inputType' => InputTypeEnum::DATE_RANGE,\n 'required' => true,\n 'placeholder' => 'Select',\n 'value' => ['startDate' => $valueStartDate, 'endDate' => $valueEndDate],\n 'queryParams' => [\n 'startDate' => 'start_date_period',\n 'endDate' => 'end_date_period',\n ],\n 'dependencies' => [],\n 'dependsOn' => ['frequency'],\n ];\n }\n\n public function getActivityTypesFieldData(?Team $team = null, array $value = [], array $teamsFilter = []): array\n {\n return $this->activityTypeService->getActivityTypeFieldData(team: $team, value: $value, groupIds: $teamsFilter);\n }\n\n public function getDealStageAtCallFieldData(?Team $team = null, array $value = []): array\n {\n return $this->dealStagesService->getDealStageAtCallFieldData(team: $team, value: $value);\n }\n\n public function getCurrentDealStageFieldData(?Team $team = null, array $value = []): array\n {\n return $this->dealStagesService->getCurrentDealStageFieldData(team: $team, value: $value);\n }\n\n public function getDealValueFieldData(?int $valueMin = null, ?int $valueMax = null): array\n {\n return [\n 'id' => 'deal_value',\n 'label' => 'Deal Value',\n 'inputType' => InputTypeEnum::INTEGER_RANGE,\n 'required' => false,\n 'value' => ['min' => $valueMin, 'max' => $valueMax],\n 'queryParams' => [\n 'min' => 'min_deal_value',\n 'max' => 'max_deal_value',\n ],\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getCallTypeFieldData(bool $conferenceOn = false, bool $dialerOn = false): array\n {\n $value = [];\n $conferenceOn && $value[] = self::CALL_TYPE_CONFERENCE;\n $dialerOn && $value[] = self::CALL_TYPE_DIALER;\n\n return [\n 'id' => 'call_type',\n 'label' => 'Call Type',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'required' => true,\n 'options' => [\n self::CALL_TYPE_CONFERENCE,\n self::CALL_TYPE_DIALER,\n ],\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getMediaTypeFieldData(?AutomatedReport $report = null): array\n {\n $value = [];\n\n if ($report) {\n $value = $this->transformMediaTypes($report);\n }\n\n return [\n 'id' => 'media_types',\n 'label' => 'Export as',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'required' => true,\n 'options' => self::MEDIA_TYPE_OBJECTS,\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getCallDurationFieldData(?int $valueMin = null, ?int $valueMax = null): array\n {\n return [\n 'id' => 'call_duration',\n 'label' => 'Call Duration',\n 'inputType' => InputTypeEnum::INTEGER_RANGE,\n 'required' => false,\n 'value' => ['min' => $valueMin, 'max' => $valueMax],\n 'queryParams' => [\n 'min' => 'min_call_duration',\n 'max' => 'max_call_duration',\n ],\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getRecipientsFieldData(?Team $team = null, array $value = []): array\n {\n return $this->recipientsService->getRecipientsFieldData(team: $team, value: $value);\n }\n\n public function getJiminnyRecipientsFieldData(array $value = []): array\n {\n return $this->recipientsService->getJiminnyRecipientsFieldData($value);\n }\n\n public function getAdditionalPromptInputFieldData(?string $value = null): array\n {\n return [\n 'id' => 'additional_prompt_input',\n 'label' => 'Special requirements',\n 'inputType' => InputTypeEnum::TEXTAREA,\n 'required' => false,\n 'placeholder' => 'What should be the focus of the report?',\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n public function getCustomReportNameFieldData(?string $value = null): array\n {\n return [\n 'id' => 'custom_name',\n 'label' => 'Custom report name',\n 'inputType' => InputTypeEnum::TEXT,\n 'required' => false,\n 'placeholder' => 'Enter custom name',\n 'value' => $value,\n 'dependencies' => [],\n 'dependsOn' => [],\n ];\n }\n\n // data providers\n public function getTeams(): array\n {\n $teams = $this->teamRepository->getTeamsForKiosk(status: Team::STATUS_ACTIVE);\n\n $teamData = [];\n foreach ($teams as $team) {\n if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {\n continue;\n }\n\n $teamData[] = $this->transformTeam($team);\n }\n\n return $teamData;\n }\n\n public function getTeamGroups(string $teamUuid): array\n {\n $data = [];\n $team = $this->getTeam($teamUuid);\n\n if ($team !== null) {\n $groups = $team->groups()->get();\n\n foreach ($groups as $group) {\n $data[] = [\n 'id' => $group->getUuid(),\n 'name' => $group->getName(),\n ];\n }\n }\n\n return $data;\n }\n\n public function getTeamsGroupsOptions(array $filterTeamUuids = []): array\n {\n $data = [];\n $teams = $this->getTeams();\n\n foreach ($teams as $team) {\n if (! empty($filterTeamUuids) && ! in_array($team['id'], $filterTeamUuids, true)) {\n continue;\n }\n\n $data[] = [\n 'label' => $team['name'],\n 'groups' => $this->getTeamGroups($team['id']),\n ];\n }\n\n return $data;\n }\n\n public function getTeam(string $teamUuid): ?Team\n {\n return $this->teamRepository->idOrUuid($teamUuid);\n }\n\n public function getTeamById(int $teamId): ?Team\n {\n return $this->teamRepository->find($teamId);\n }\n\n public function getGroupsUuids(AutomatedReport $report): array\n {\n $uuids = [];\n $reportGroups = $report->getGroups();\n foreach ($reportGroups as $groupId) {\n if ($group = $this->groupRepository->find($groupId)) {\n $uuids[] = $group->getUuid();\n }\n }\n\n return $uuids;\n }\n\n public function getPlaybookCategoriesUuids(AutomatedReport $report): array\n {\n $uuids = [];\n $playbookCategories = $report->getPlaybookCategories();\n foreach ($playbookCategories as $id) {\n if ($category = $this->playbookCategoryRepository->find($id)) {\n $uuids[] = $category->getUuid();\n }\n }\n\n return $uuids;\n }\n\n public function getDealAtCallStagesUuids(AutomatedReport $report): array\n {\n $uuids = [];\n $reportStages = $report->getDealAtCallStages();\n foreach ($reportStages as $id) {\n if ($stage = $this->stageRepository->find($id)) {\n $uuids[] = $stage->getUuid();\n }\n }\n\n return $uuids;\n }\n\n public function getCurrentDealStagesUuids(AutomatedReport $report): array\n {\n $uuids = [];\n $reportStages = $report->getCurrentDealStages();\n foreach ($reportStages as $id) {\n if ($stage = $this->stageRepository->find($id)) {\n $uuids[] = $stage->getUuid();\n }\n }\n\n return $uuids;\n }\n\n public function getUsersUuids(AutomatedReport $report): array\n {\n return $this->extractUserUuids($report->getRecipients());\n }\n\n public function getJiminnyUsersUuids(AutomatedReport $report): array\n {\n return $this->extractUserUuids($report->getJiminnyRecipients());\n }\n\n /**\n * @param array<string, mixed> $recipients\n */\n private function extractUserUuids(array $recipients): array\n {\n $userIds = $recipients['users'] ?? [];\n\n return collect($userIds)\n ->map(fn ($id) => $this->userRepository->find((int) $id))\n ->filter()\n ->map(fn (UserContract $user) => $user->getUuid())\n ->values()\n ->all();\n }\n\n // get mail data\n public function getRecipientUsers(AutomatedReport $report): array\n {\n return $this->buildRecipientUsers($report->getRecipients());\n }\n\n /**\n * @return array<UserContract>\n */\n public function getRecipientUserObjects(AutomatedReport $report): array\n {\n $userIds = $report->getRecipients()['users'] ?? [];\n\n return collect($userIds)\n ->map(fn ($id) => $this->userRepository->find((int) $id))\n ->filter()\n ->values()\n ->all();\n }\n\n private function getJiminnyRecipientUsers(AutomatedReport $report): array\n {\n return $this->buildRecipientUsers($report->getJiminnyRecipients());\n }\n\n /**\n * @param array<string, mixed> $recipients\n */\n private function buildRecipientUsers(array $recipients): array\n {\n $userIds = $recipients['users'] ?? [];\n\n return collect($userIds)\n ->map(fn ($id) => $this->userRepository->find((int) $id))\n ->filter()\n ->map(fn (UserContract $user) => [\n 'email' => $user->getEmailAddress(),\n 'name' => $user->getName(),\n 'timezone' => $user->getTimezone()->getName(),\n ])\n ->values()\n ->all();\n }\n\n public function getValidRecipientUsers(AutomatedReport $report, bool $includeJiminny = false): array\n {\n if ($report->isAskJiminnyReport()) {\n $recipients = $this->resolveAskJiminnyRecipients($report);\n } else {\n $recipients = $this->getRecipientUsers($report);\n if ($includeJiminny) {\n $recipients = array_merge($recipients, $this->getJiminnyRecipientUsers($report));\n }\n }\n\n $emails = [];\n\n return array_values(array_filter(\n $recipients,\n static function ($recipient) use (&$emails) {\n if (empty($recipient['email']) || in_array($recipient['email'], $emails, true)) {\n return false;\n }\n $emails[] = $recipient['email'];\n\n return true;\n }\n ));\n }\n\n private function resolveAskJiminnyRecipients(AutomatedReport $report): array\n {\n $recipients = [];\n\n $creator = $report->getCreator();\n if ($creator !== null) {\n $recipients[] = [\n 'email' => $creator->getEmailAddress(),\n 'name' => $creator->getName(),\n 'timezone' => $creator->getTimezone()->getName(),\n ];\n }\n\n return array_merge(\n $recipients,\n $this->buildRecipientUsers($report->getRecipients()),\n $this->getGroupRecipientUsers($report),\n );\n }\n\n private function getGroupRecipientUsers(AutomatedReport $report): array\n {\n $users = [];\n foreach ($report->getGroups() as $groupId) {\n $group = $this->groupRepository->find($groupId);\n if ($group === null) {\n continue;\n }\n foreach ($group->getMembers() as $member) {\n $users[] = [\n 'email' => $member->getEmailAddress(),\n 'name' => $member->getName(),\n 'timezone' => $member->getTimezone()->getName(),\n ];\n }\n }\n\n return $users;\n }\n\n public function getReportTypeName(AutomatedReportResult $report): string\n {\n $type = $report->getReport()->getType();\n\n $getType = $this->transformReportType($type);\n\n return $getType['name'];\n }\n\n public function getReportPeriodName(AutomatedReportResult $report): string\n {\n $from = $report->getFromDate();\n $to = $report->getToDate();\n $frequency = $report->getReport()->getFrequency();\n\n if ($from === null || $to === null) {\n if (! $report->getReport()->isAskJiminnyReport()) {\n $invalidPeriod = $from === null ? 'from' : 'to';\n\n throw new ApplicationException('Report period is invalid: ' . $invalidPeriod);\n }\n\n $period = $this->calculateFromAndToDatePeriod($frequency);\n $from = $period['fromDate'];\n $to = $period['toDate'];\n }\n\n return $this->formatReportPeriodName($frequency, $from, $to);\n }\n\n private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string\n {\n $fromYear = $from->format('Y');\n $toYear = $to->format('Y');\n $differentYears = $fromYear !== $toYear;\n\n switch ($frequency) {\n case self::FREQUENCY_DAILY:\n return $from->format('j M Y');\n\n case self::FREQUENCY_QUARTERLY:\n // 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ\n $startMonth = $from->format('M');\n $endMonth = $to->copy()->subMonth();\n $endMonthName = $endMonth->format('M');\n $endMonthYear = $endMonth->format('Y');\n\n if ($differentYears) {\n return \"{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}\";\n }\n\n return \"{$startMonth} - {$endMonthName} {$toYear}\";\n\n case self::FREQUENCY_MONTHLY:\n // 'May 2025' - monthly reports are always within the same year\n return $from->format('M Y');\n\n case self::FREQUENCY_WEEKLY:\n // '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ\n $startDay = $from->format('j');\n $endDay = $to->format('j');\n $startMonth = $from->format('M');\n $endMonth = $to->format('M');\n\n if ($differentYears) {\n return \"{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n if ($startMonth !== $endMonth) {\n return \"{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n return \"{$startDay} - {$endDay} {$endMonth} {$toYear}\";\n\n case self::FREQUENCY_ONE_OFF:\n // '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ\n $startDay = $from->format('j');\n $startMonth = $from->format('M');\n $endDay = $to->format('j');\n $endMonth = $to->format('M');\n\n // If same month and year, use a format like '2-31 May 2025'\n if ($startMonth === $endMonth && ! $differentYears) {\n return \"{$startDay} - {$endDay} {$startMonth} {$toYear}\";\n }\n\n // If different years, include both years\n if ($differentYears) {\n return \"{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}\";\n }\n\n // Same year but different months\n return \"{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}\";\n\n default:\n // Default format for unknown frequencies\n return $from->format('j M Y') . ' - ' . $to->format('j M Y');\n }\n }\n\n public function getReportTeamsName(AutomatedReportResult $report): string\n {\n $groups = $report->getGroups();\n\n if (empty($groups)) {\n return 'All';\n }\n\n // Get group names from repository\n $groupNames = [];\n foreach ($groups as $groupId) {\n $group = $this->groupRepository->find($groupId);\n if ($group) {\n $groupNames[] = $group->getName();\n }\n }\n\n if (count($groupNames) === 1) {\n // Single team format\n $teamsName = $groupNames[0];\n } else {\n // Multiple teams format\n $teamsName = implode(', ', $groupNames);\n }\n\n return $teamsName;\n }\n\n public function getReportFileName(AutomatedReportResult $report): string\n {\n $customName = $report->getReport()->getCustomName();\n $periodName = $this->getReportPeriodName($report);\n $filenameSuffix = $this->getFilenameSuffix($report);\n\n if ($customName) {\n if ($filenameSuffix) {\n $customName .= \" {$filenameSuffix}\";\n }\n\n return $this->sanitizeFileName(\"{$customName} - {$periodName}\");\n }\n\n $baseName = $this->getReportTypeName($report);\n\n if ($filenameSuffix) {\n $baseName .= \" {$filenameSuffix}\";\n }\n\n return $this->sanitizeFileName(\"{$baseName} - {$periodName} - {$this->getReportTeamsName($report)}\");\n }\n\n public function getReportFileNameWithExtension(AutomatedReportResult $result): string\n {\n $extension = $this->getMediaTypeMetadata($result)['extension'];\n\n return $this->getReportFileName($result) . '.' . $extension;\n }\n\n public function sanitizeFileName(string $fileName): string\n {\n return str_replace(['/', '\\\\'], '-', $fileName);\n }\n\n public function isUserRecipientOfReport(User $user, AutomatedReport $report): bool\n {\n $recipients = array_map('intval', $report->getRecipients()['users'] ?? []);\n\n return in_array($user->getId(), $recipients);\n }\n \n public function isUserRecipientOfReport(User $user, AutomatedReport $report): bool\n {\n $recipientIds = array_map('intval', $report->getRecipients()['users'] ?? []);\n if (in_array($user->getId(), $recipientIds, true)) {\n return true;\n }\n \n if ($report->isAskJiminnyReport()) {\n $groupId = $user->getGroupId();\n if ($groupId !== null && in_array($groupId, $report->getGroups(), true)) {\n return true;\n }\n }\n \n return false;\n }\n\n public function transformReportResults(Collection $automatedReportResults): array\n {\n $data = [];\n foreach ($automatedReportResults as $automatedReportResult) {\n /** @var AutomatedReportResult $automatedReportResult */\n\n $report = $automatedReportResult->getReport();\n\n $createdBy = $report->getCreator();\n $creator = [\n 'id' => $createdBy?->getUuid(),\n 'name' => $createdBy?->getName(),\n 'email' => $createdBy?->getEmailAddress(),\n 'photoUrl' => $createdBy?->getPhotoUrl(),\n ];\n\n $data[] = [\n 'id' => $automatedReportResult->getUuid(),\n 'name' => $automatedReportResult->getName(),\n 'frequency' => $this->transformFrequency($report->getFrequency()),\n 'recipients' => $this->buildRecipients($report),\n 'report_type' => $this->transformReportType($report->getType()),\n 'media_type' => $automatedReportResult->getMediaType(),\n 'downloadUrl' => $this->generateReportResultDownloadUrl($automatedReportResult),\n 'viewUrl' => $this->generateReportResultViewUrl($automatedReportResult),\n 'generated_at' => $automatedReportResult->getGeneratedAt()?->toIso8601String(),\n 'creator' => $creator,\n ];\n }\n\n return $data;\n }\n\n private function buildRecipients(AutomatedReport $report): array\n {\n $creatorUuid = $report->getCreator()?->getUuid();\n\n $recipients = array_values(array_filter(\n $this->transformRecipients($report->getRecipients()),\n static fn (array $recipient): bool => $recipient['id'] !== $creatorUuid,\n ));\n\n if (! $report->isAskJiminnyReport()) {\n return $recipients;\n }\n\n return [\n ...array_values($this->transformGroups(team: $report->getTeam(), groupsIds: $report->getGroups())),\n ...$recipients,\n ];\n }\n\n public function hasCallTypeConference(AutomatedReport $report): bool\n {\n return in_array(self::CALL_TYPE_CONFERENCE['id'], $report->getCallTypes(), true);\n }\n\n public function hasCallTypeDialer(AutomatedReport $report): bool\n {\n return in_array(self::CALL_TYPE_DIALER['id'], $report->getCallTypes(), true);\n }\n\n // transformers\n private function transformTeam(Team $team): array\n {\n if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {\n return [];\n }\n\n return [\n 'id' => $team->getUuid(),\n 'name' => $team->getName(),\n ];\n }\n\n private function transformReportFullView(AutomatedReport $report): array\n {\n $base = $this->transformReportBase($report);\n\n return $report->getType() === self::TYPE_ASK_JIMINNY\n ? $base + $this->transformAskJiminnyFields($report)\n : $base + $this->transformStandardReportFields($report);\n }\n\n private function transformReportBase(AutomatedReport $report): array\n {\n return [\n 'id' => $report->getUuid(),\n 'organization' => $this->transformOrganization(team: $report->getTeam()),\n 'report_type' => $this->transformReportType($report->getType()),\n 'frequency' => $this->transformFrequency($report->getFrequency()),\n ];\n }\n\n private function transformStandardReportFields(AutomatedReport $report): array\n {\n $team = $report->getTeam();\n\n return [\n 'report_enabled' => $report->getStatus(),\n 'start_date_period' => $report->getFrom()?->format('Y-m-d H:i:s'),\n 'end_date_period' => $report->getTo()?->format('Y-m-d H:i:s'),\n 'deal_value_min' => $report->getDealValueMin(),\n 'deal_value_max' => $report->getDealValueMax(),\n 'call_types' => $this->transformCallType($report->getCallTypes()),\n 'media_types' => $this->transformMediaTypes($report),\n 'call_duration_min' => $this->transformDurationToMinutes($report->getCallDurationMin()),\n 'call_duration_max' => $this->transformDurationToMinutes($report->getCallDurationMax()),\n 'teams' => $this->transformGroups(team: $team, groupsIds: $report->getGroups()),\n 'deal_at_call_stages' => $this->transformStages(team: $team, stagesIds: $report->getDealAtCallStages()),\n 'current_deal_stages' => $this->transformStages(team: $team, stagesIds: $report->getCurrentDealStages()),\n 'recipients' => $this->transformRecipients($report->getRecipients()),\n 'created_by' => $this->transformCreator($report->getCreator()),\n 'additional_prompt_input' => $report->getAdditionalPromptInput(),\n 'custom_name' => $report->getCustomName(),\n 'created_at' => $report->getCreatedAt()->format('Y-m-d H:i:s'),\n 'updated_at' => $report->getUpdatedAt()->format('Y-m-d H:i:s'),\n 'deleted_at' => $report->getDeletedAt()?->format('Y-m-d H:i:s'),\n ];\n }\n\n private function transformAskJiminnyFields(AutomatedReport $report): array\n {\n $team = $report->getTeam();\n $creatorId = $report->getAttribute('created_by');\n $explicitUserIds = array_values(array_filter(\n $report->getRecipients()['users'] ?? [],\n static fn ($id) => $id !== $creatorId\n ));\n\n return [\n 'report_name' => $report->getCustomName(),\n 'enabled' => $report->getStatus(),\n 'share_teams' => $this->transformGroups(team: $team, groupsIds: $report->getGroups()),\n 'share_users' => $this->transformRecipients(['users' => $explicitUserIds]),\n 'saved_search' => $this->transformSafeSearch($report->getSavedSearch()),\n 'ask_jiminny_prompt' => $this->transformAskJiminnyPrompt($report->getAskAnythingPrompt()),\n 'expires_on' => $report->getExpiresAt()?->format('Y-m-d'),\n ];\n }\n\n private function transformOrganization(?Team $team): array\n {\n return [\n 'id' => $team?->getUuid(),\n 'name' => $team?->getName(),\n ];\n }\n\n private function transformReportType(string $type): array\n {\n foreach (self::ALL_TYPES as $typeItem) {\n if ($typeItem['id'] === $type) {\n return $typeItem;\n }\n }\n\n return [];\n }\n\n private function transformCallType(array $types): array\n {\n $result = [];\n $callTypes = [self::CALL_TYPE_CONFERENCE, self::CALL_TYPE_DIALER];\n\n foreach ($types as $type) {\n foreach ($callTypes as $callTypeItem) {\n if ($callTypeItem['id'] === $type) {\n $result[] = $callTypeItem;\n\n break;\n }\n }\n }\n\n return $result;\n }\n\n private function transformMediaTypes(AutomatedReport $report): array\n {\n $values = [];\n\n foreach ($report->getMediaTypes() as $mediaType) {\n if (! in_array($mediaType, self::MEDIA_TYPES, true)) {\n continue;\n }\n\n $values[] = match ($mediaType) {\n self::MEDIA_TYPE_PDF => self::MEDIA_TYPE_OBJECT_PDF,\n self::MEDIA_TYPE_PODCAST => self::MEDIA_TYPE_OBJECT_PODCAST,\n };\n }\n\n return $values;\n }\n\n private function transformFrequency(string $frequency): array\n {\n foreach (self::ALL_FREQUENCIES as $frequencyItem) {\n if ($frequencyItem['id'] === $frequency) {\n return $frequencyItem;\n }\n }\n\n return [];\n }\n\n public function transformDurationToMinutes(?int $duration): ?int\n {\n if (! $duration) {\n return null;\n }\n\n return (int) ($duration / 60);\n }\n\n private function transformGroups(?Team $team, array $groupsIds): array\n {\n if (empty($groupsIds) || ! $team) {\n return [];\n }\n\n $data = [];\n foreach ($groupsIds as $groupId) {\n $group = $team->groups()->where('id', $groupId)->first();\n\n if ($group) {\n $data[] = [\n 'id' => $group->getUuid(),\n 'name' => $group->getName(),\n 'photoUrl' => $group->getPhotoUrl(),\n ];\n }\n }\n\n return $data;\n }\n\n private function transformStages(?Team $team, array $stagesIds): array\n {\n if (empty($stagesIds) || ! $team) {\n return [];\n }\n\n $data = [];\n foreach ($stagesIds as $stageId) {\n $stage = $team->stages()->where('id', $stageId)->first();\n\n if ($stage) {\n $data[] = [\n 'id' => $stage->getUuid(),\n 'name' => $stage->getName(),\n ];\n }\n }\n\n return $data;\n }\n\n private function transformRecipients(array $recipients): array\n {\n $users = [];\n foreach ($recipients['users'] ?? [] as $userId) {\n $users[] = $this->transformUser($userId);\n }\n\n return $users;\n }\n\n private function transformCreator(?User $user): ?array\n {\n if ($user === null) {\n return null;\n }\n\n return $this->transformUser($user->getId());\n }\n\n private function transformAskJiminnyPrompt(?AskAnythingPrompt $prompt): ?array\n {\n if ($prompt === null) {\n return null;\n }\n\n return [\n 'id' => $prompt->getUuid(),\n 'name' => $prompt->getTitle(),\n ];\n }\n\n private function transformSafeSearch(?Search $search): ?array\n {\n if ($search === null) {\n return null;\n }\n\n return [\n 'id' => $search->getUuid(),\n 'name' => $search->getName(),\n ];\n }\n\n private function transformUser(int $userId): array\n {\n /* @var ?User $user */\n $user = $this->userRepository->find($userId);\n\n return [\n 'id' => $user?->getUuid(),\n 'name' => $user?->getName(),\n 'email' => $user?->getEmailAddress(),\n 'photoUrl' => $user?->getPhotoUrl(),\n ];\n }\n\n public function create(array $data): array\n {\n $validatedData = $this->validateAndTransformData($data);\n $validatedData['created_by'] = auth()->id();\n\n $automatedReport = $this->automatedReportsRepository->create($validatedData);\n\n $this->generateOneOffReport($automatedReport);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n public function update(string $uuid, array $data): array\n {\n $validatedData = $this->validateAndTransformData($data);\n $report = $this->automatedReportsRepository->findByUuid($uuid);\n\n if (! $report) {\n throw new InvalidArgumentException('Report not found');\n }\n\n $oldCustomName = $report->getCustomName();\n\n $automatedReport = $this->automatedReportsRepository->update($report, $validatedData);\n\n if ($oldCustomName !== $automatedReport->getCustomName()) {\n $this->updateResultNames($automatedReport);\n }\n\n $this->generateOneOffReport($automatedReport);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n /**\n * Create an Ask Jiminny report.\n */\n public function createAskJiminnyReport(array $data, User $creator): array\n {\n $validatedData = $this->validateAskJiminnyReportData($data, $creator);\n $validatedData['created_by'] = $creator->getId();\n\n $automatedReport = $this->automatedReportsRepository->create($validatedData);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n /**\n * Update an Ask Jiminny report.\n */\n public function updateAskJiminnyReport(AutomatedReport $report, array $data, User $user): array\n {\n if (! $report->isAskJiminnyReport()) {\n throw new InvalidArgumentException('Report is not an Ask Jiminny report');\n }\n\n $validatedData = $this->validateAskJiminnyReportData($data, $user);\n\n $oldCustomName = $report->getCustomName();\n\n $automatedReport = $this->automatedReportsRepository->update($report, $validatedData);\n\n if ($oldCustomName !== $automatedReport->getCustomName()) {\n $this->updateResultNames($automatedReport);\n }\n\n return $this->transformReportFullView($automatedReport);\n }\n\n public function updateAskJiminnyReportStatus(AutomatedReport $report, bool $status): array\n {\n $this->automatedReportsRepository->update($report, ['status' => $status]);\n\n return $this->transformReportFullView($report->fresh());\n }\n\n /**\n * Validate and transform data for Ask Jiminny reports.\n */\n private function validateAskJiminnyReportData(array $data, User $user): array\n {\n // Validate name\n $name = trim($data['report_name'] ?? '');\n if (empty($name)) {\n throw new InvalidArgumentException('Report name is required');\n }\n if (mb_strlen($name) > 50) {\n throw new InvalidArgumentException('Report name must be 50 characters or less');\n }\n\n // Validate frequency (only daily, weekly, monthly for Ask Jiminny)\n $frequency = $data['frequency'] ?? null;\n $askJiminnyFrequencies = [self::FREQUENCY_DAILY, self::FREQUENCY_WEEKLY, self::FREQUENCY_MONTHLY];\n if (! in_array($frequency, $askJiminnyFrequencies, true)) {\n throw new InvalidArgumentException('Frequency must be daily, weekly, or monthly');\n }\n\n // Validate expiration date\n $expiresAt = $data['expires_on'] ?? null;\n if (empty($expiresAt)) {\n throw new InvalidArgumentException('Expiration date is required');\n }\n\n try {\n $expiresAtDate = Carbon::parse($expiresAt);\n } catch (InvalidFormatException $e) {\n throw new InvalidArgumentException('Expiration date format is invalid');\n }\n $maxExpiration = Carbon::now()->addYear()->endOfDay();\n if ($expiresAtDate->gt($maxExpiration)) {\n throw new InvalidArgumentException('Expiration date cannot be more than 1 year from now');\n }\n if ($expiresAtDate->isPast()) {\n throw new InvalidArgumentException('Expiration date cannot be in the past');\n }\n\n // Validate saved search\n $activitySearchId = $data['saved_search'] ?? null;\n if (empty($activitySearchId)) {\n throw new InvalidArgumentException('Saved search is required');\n }\n $savedSearch = $this->activitySearchRepository->findByUuidAndUser($activitySearchId, $user);\n if (! $savedSearch) {\n throw new InvalidArgumentException('Saved search not found or does not belong to you');\n }\n\n // Validate saved prompt\n $askAnythingPromptId = $data['ask_jiminny_prompt'] ?? null;\n if (empty($askAnythingPromptId)) {\n throw new InvalidArgumentException('Ask Jiminny prompt is required');\n }\n $prompt = $this->askAnythingRepository->getPromptByUuid($askAnythingPromptId);\n if (! $prompt) {\n throw new InvalidArgumentException('Ask Jiminny prompt not found');\n }\n\n // Validate status\n $status = $data['enabled'] ?? false;\n\n $recipientUserIds = [$user->getId()];\n\n if (! empty($data['share_users'])) {\n $sharedUserIds = $this->validateAndGetUserIdsByTeam(\n $user->team,\n (array) $data['share_users']\n );\n $recipientUserIds = array_merge($recipientUserIds, $sharedUserIds);\n }\n\n $sharedGroupIds = [];\n if (! empty($data['share_teams'])) {\n $sharedGroupIds = $this->validateAndGetGroupIds($user->team, (array) $data['share_teams']);\n }\n\n $recipientUserIds = array_values(array_unique($recipientUserIds));\n\n return [\n 'team_id' => $user->getTeamId(),\n 'type' => self::TYPE_ASK_JIMINNY,\n 'status' => (bool) $status,\n 'frequency' => $frequency,\n 'custom_name' => $name,\n 'activity_search_id' => $savedSearch->getId(),\n 'ask_anything_prompt_id' => $prompt->getId(),\n 'expires_at' => $expiresAtDate->toDateString(),\n 'media_types' => [self::MEDIA_TYPE_PDF],\n 'call_types' => [],\n 'recipients' => ['users' => $recipientUserIds],\n 'groups' => $sharedGroupIds,\n ];\n }\n\n public static function getAskJiminnyFrequencies(): array\n {\n return array_map(static function ($frequency) {\n return $frequency['id'];\n }, self::ASK_JIMINNY_FREQUENCIES);\n }\n\n public function getAskJiminnyReportFilters(User $user): array\n {\n $savedSearches = $this->activitySearchRepository->findByUserOrderedByName($user)\n ->map(fn (Search $search) => [\n 'id' => $search->getUuid(),\n 'name' => $search->getName(),\n ])\n ->values()->all();\n\n $prompts = collect(\n $this->askAnythingPromptService->get($user, AskAnythingPromptTarget::on_demand)\n )->map(fn (AskAnythingPromptDto $prompt) => [\n 'id' => $prompt->id,\n 'name' => $prompt->title,\n ])->values()->all();\n\n return [\n [\n 'id' => 'prompt',\n 'label' => 'Prompt',\n 'options' => $prompts,\n ],\n [\n 'id' => 'saved_search',\n 'label' => 'Saved Search',\n 'options' => $savedSearches,\n ],\n ];\n }\n\n public function getAskJiminnyReportFormData(User $user, ?AutomatedReport $report = null): array\n {\n $team = $user->getTeam();\n $userTimezone = $user->getTimezone();\n\n $savedSearches = $this->activitySearchRepository->findByUserOrderedByName($user)\n ->map(fn (Search $search) => [\n 'id' => $search->getUuid(),\n 'name' => $search->getName(),\n ])\n ->values()->all();\n\n $prompts = collect(\n $this->askAnythingPromptService->get($user, AskAnythingPromptTarget::on_demand)\n )->map(fn (AskAnythingPromptDto $prompt) => [\n 'id' => $prompt->id,\n 'name' => $prompt->title,\n ])->values()->all();\n\n $teamGroups = $this->groupRepository->getAllByTeam($team)->map(fn ($group) => [\n 'id' => $group->getUuid(),\n 'name' => $group->getName(),\n ])->values()->all();\n\n $shareUsers = $this->recipientsService->getRecipientsFieldData(team: $team)['options'] ?? [];\n\n $sharedTeamsValue = [];\n $sharedUsersValue = [];\n if ($report) {\n $sharedTeamsValue = $this->transformGroups($team, $report->getGroups());\n\n $recipientUserIds = $report->getRecipients()['users'] ?? [];\n $creatorId = $report->getAttribute('created_by');\n $sharedUserIds = array_values(array_filter(\n $recipientUserIds,\n static fn ($id) => $id !== $creatorId\n ));\n $sharedUsersValue = collect($sharedUserIds)\n ->map(fn ($id) => $this->userRepository->find((int) $id))\n ->filter()\n ->map(fn (User $u) => [\n 'id' => $u->getUuid(),\n 'name' => $u->getName(),\n ])\n ->values()\n ->all();\n }\n\n return [\n 'fields' => [\n [\n 'id' => 'enabled',\n 'inputType' => InputTypeEnum::TOGGLE,\n 'label' => '',\n 'value' => $report?->getStatus() ?? false,\n ],\n [\n 'id' => 'report_name',\n 'inputType' => InputTypeEnum::TEXT,\n 'label' => 'Name',\n 'placeholder' => 'Enter name',\n 'required' => true,\n 'validation' => ['maxLength' => 50],\n 'value' => $report?->getCustomName() ?? '',\n ],\n [\n 'id' => 'frequency',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'label' => 'Frequency',\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => self::ASK_JIMINNY_FREQUENCIES,\n 'value' => $report ? $this->transformFrequency($report->getFrequency()) : null,\n ],\n [\n 'id' => 'expires_on',\n 'inputType' => InputTypeEnum::DATE,\n 'label' => 'Expires on',\n 'required' => true,\n 'placeholder' => 'Select',\n 'validation' => [\n 'minDate' => now($userTimezone)->toDateString(),\n 'maxDate' => now($userTimezone)->addYear()->toDateString(),\n ],\n 'value' => $report?->getExpiresAt()?->toDateString(),\n ],\n [\n 'id' => 'share_teams',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'label' => 'Team',\n 'required' => false,\n 'placeholder' => 'Select',\n 'options' => $teamGroups,\n 'value' => $sharedTeamsValue,\n ],\n [\n 'id' => 'share_users',\n 'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,\n 'label' => 'Team member',\n 'required' => false,\n 'placeholder' => 'Select',\n 'groupLabelKey' => 'label',\n 'groupValuesKey' => 'users',\n 'optionLabelKey' => 'name',\n 'optionValueKey' => 'id',\n 'options' => $shareUsers,\n 'value' => $sharedUsersValue,\n ],\n [\n 'id' => 'saved_search',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'label' => 'Saved search',\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => $savedSearches,\n 'value' => $report && $report->getSavedSearch() ? [\n 'id' => $report->getSavedSearch()->getUuid(),\n 'name' => $report->getSavedSearch()->getName(),\n ] : null,\n ],\n [\n 'id' => 'ask_jiminny_prompt',\n 'inputType' => InputTypeEnum::DROPDOWN,\n 'label' => 'Ask Jiminny prompt',\n 'required' => true,\n 'placeholder' => 'Select',\n 'options' => $prompts,\n 'value' => $report && $report->getAskAnythingPrompt() ? [\n 'id' => $report->getAskAnythingPrompt()->getUuid(),\n 'name' => $report->getAskAnythingPrompt()->getTitle(),\n ] : null,\n ],\n ],\n ];\n }\n\n private function updateResultNames(AutomatedReport $automatedReport): void\n {\n $results = $this->automatedReportsRepository->getResultsByReport($automatedReport);\n\n foreach ($results as $result) {\n $result->update(['name' => $this->getReportFileName($result)]);\n }\n }\n\n public function updateStatus(string $uuid, array $data): array\n {\n $automatedReport = $this->automatedReportsRepository->findByUuid($uuid);\n\n if (! $automatedReport) {\n throw new ModelNotFoundException('Report not found');\n }\n\n $status = $this->validateReportStatus($data['report_enabled'] ?? null);\n $automatedReport->update([\n 'status' => $status,\n ]);\n\n $this->generateOneOffReport($automatedReport);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n private function generateOneOffReport(AutomatedReport $automatedReport): void\n {\n // the scheduler handles all the other frequency types\n if ($automatedReport->getStatus() === false || $automatedReport->getFrequency() !== self::FREQUENCY_ONE_OFF) {\n return;\n }\n\n $this->dispatcher->dispatch(new RequestGenerateReportJob($automatedReport->getUuid()));\n }\n\n public function getReport(string $uuid): AutomatedReport\n {\n $automatedReport = $this->automatedReportsRepository->findByUuid($uuid);\n\n if (! $automatedReport) {\n throw new ModelNotFoundException('Report not found');\n }\n\n return $automatedReport;\n }\n\n public function get(string $uuid): array\n {\n $automatedReport = $this->getReport($uuid);\n\n return $this->transformReportFullView($automatedReport);\n }\n\n public function list(string $sortColumn = 'created_at', string $sortDirection = 'desc'): array\n {\n $results = [];\n $collection = $this->automatedReportsRepository->getAllStandardReports($sortColumn, $sortDirection);\n\n /** @var AutomatedReport $report */\n foreach ($collection as $report) {\n $results[] = $this->transformReportFullView($report);\n }\n\n return ['data' => $results];\n }\n\n public function listAskJiminnyReports(\n User $user,\n string $sortColumn = 'created_at',\n string $sortDirection = 'desc'\n ): array {\n $results = [];\n $collection = $this->automatedReportsRepository->getAskJiminnyReportsByUser($user, $sortColumn, $sortDirection);\n\n /** @var AutomatedReport $report */\n foreach ($collection as $report) {\n $results[] = $this->transformReportFullView($report);\n }\n\n return ['data' => $results];\n }\n\n public function delete(string $uuid): void\n {\n $automatedReport = $this->automatedReportsRepository->findByUuid($uuid);\n\n if (! $automatedReport) {\n throw new ModelNotFoundException('Report not found');\n }\n\n $automatedReport->delete();\n }\n\n public function createReportResult(AutomatedReport $automatedReport, array $data = []): AutomatedReportResult\n {\n return $this->automatedReportsRepository->createResult(\n array_merge(\n [\n 'report_id' => $automatedReport->getId(),\n 'status' => AutomatedReportResult::STATUS_DEFAULT,\n ],\n $data\n )\n );\n }\n\n public function getOrCreateReportResult(AutomatedReport $automatedReport, array $data = []): AutomatedReportResult\n {\n $existing = $this->automatedReportsRepository->findLatestDefaultOrFailedResult($automatedReport);\n\n if ($existing !== null) {\n $existing->update(['status' => AutomatedReportResult::STATUS_DEFAULT]);\n\n return $existing;\n }\n\n return $this->createReportResult($automatedReport, $data);\n }\n\n public function getReportResult(string $resultUuid): AutomatedReportResult\n {\n $report = $this->automatedReportsRepository->findResultByUuid($resultUuid);\n\n if (! $report) {\n throw new ModelNotFoundException('Report Result not found');\n }\n\n return $report;\n }\n\n public function findChildResult(AutomatedReportResult $result, string $type): ?AutomatedReportResult\n {\n return $this->automatedReportsRepository->findChildResult($result, $type);\n }\n\n // prophet API calls\n /**\n * @throws ApplicationException\n */\n public function getGenerateReportPayload(AutomatedReport $automatedReport, string $reportResultUuid): array\n {\n $period = $this->calculateFromAndToDate($automatedReport);\n $fromDate = $period['fromDate'];\n $toDate = $period['toDate'];\n\n return [\n 'team_id' => $automatedReport->getTeamId(),\n 'request_id' => $reportResultUuid,\n 'report_type' => $automatedReport->getType(),\n 'media_types' => $automatedReport->getMediaTypes(),\n 'from_date' => $fromDate->startOfDay()->format(DateTimeInterface::RFC3339),\n 'to_date' => $toDate->endOfDay()->format(DateTimeInterface::RFC3339),\n 'group_ids' => $automatedReport->getGroups(),\n 'call_deal_stage' => $automatedReport->getDealAtCallStages(),\n 'current_deal_stage' => $automatedReport->getCurrentDealStages(),\n 'deal_min_value' => $automatedReport->getDealValueMin(),\n 'deal_max_value' => $automatedReport->getDealValueMax(),\n 'call_types' => $automatedReport->getCallTypes(),\n 'call_duration_min_seconds' => $automatedReport->getCallDurationMin(),\n 'call_duration_max_seconds' => $automatedReport->getCallDurationMax(),\n 'special_requirements' => $automatedReport->getAdditionalPromptInput(),\n 'callback_url' => $this->getCallbackUrl(),\n 'report_period' => $this->formatReportPeriodName(\n $automatedReport->getFrequency(),\n $fromDate,\n $toDate,\n ),\n 'playbook_categories' => $automatedReport->getPlaybookCategories(),\n 'custom_name' => $automatedReport->getCustomName(),\n ];\n }\n\n // $inputPayload - FE payload structure\n public function getActivitiesCountPayload(array $inputPayload): array\n {\n // Use validateAndTransformData to validate and normalize input\n $validatedData = $this->validateAndTransformData($inputPayload);\n $period = $this->calculateFromAndToDatePeriod(\n $validatedData['frequency'],\n Carbon::parse($validatedData['from']),\n Carbon::parse($validatedData['to']),\n );\n $fromDate = $period['fromDate'];\n $toDate = $period['toDate'];\n\n // Create payload similar to getGenerateReportPayload\n return [\n 'team_id' => $validatedData['team_id'],\n 'group_ids' => $validatedData['groups'] ?? [],\n 'report_type' => $validatedData['type'],\n 'from_date' => $fromDate->format(DateTimeInterface::RFC3339),\n 'to_date' => $toDate->format(DateTimeInterface::RFC3339),\n 'call_deal_stage' => $validatedData['deal_at_call_stages'] ?? [],\n 'current_deal_stage' => $validatedData['current_deal_stages'] ?? [],\n 'deal_min_value' => $validatedData['deal_value_min'] ?? null,\n 'deal_max_value' => $validatedData['deal_value_max'] ?? null,\n 'call_types' => $validatedData['call_types'],\n 'call_duration_min_seconds' => $validatedData['call_duration_min'] ?? null,\n 'call_duration_max_seconds' => $validatedData['call_duration_max'] ?? null,\n 'special_requirements' => $validatedData['additional_prompt_input'] ?? null,\n 'playbook_categories' => $validatedData['playbook_categories'] ?? [],\n 'request_id' => null,\n 'callback_url' => null,\n ];\n }\n\n public function shouldSendReport(array $users, ?CarbonInterface $generatedAt = null): bool\n {\n if (empty($users)) {\n return false;\n }\n\n $earliestTz = collect($users)\n ->mapWithKeys(function (array $user) {\n $tz = new DateTimeZone($user['timezone']);\n $nowUtc = new DateTime('now', new DateTimeZone('UTC'));\n $offset = $tz->getOffset($nowUtc);\n\n return [$user['timezone'] => $offset];\n })\n ->sortDesc()\n ->keys()\n ->first();\n\n $now = Carbon::now($earliestTz);\n $isScheduledTime = (int) $now->format('H') === self::SENT_REPORT_AT_HOURS;\n\n if ($isScheduledTime) {\n return true;\n }\n\n return $this->hasPassedScheduledTime($generatedAt, $earliestTz);\n }\n\n public function hasPassedScheduledTime(?CarbonInterface $generatedAt, string $timezone): bool\n {\n if ($generatedAt === null) {\n return false;\n }\n\n $now = Carbon::now($timezone);\n $scheduledTime = $now->copy()->setTime(self::SENT_REPORT_AT_HOURS, 0, 0);\n\n if ($now->hour < self::SENT_REPORT_AT_HOURS) {\n $scheduledTime = $scheduledTime->subDay();\n }\n\n $scheduledTimeUtc = $scheduledTime->copy()->utc();\n $generatedAtUtc = $generatedAt->copy()->utc();\n $nowUtc = $now->copy()->utc();\n\n return $generatedAtUtc->lt($scheduledTimeUtc) && $nowUtc->gt($scheduledTimeUtc);\n }\n\n public function calculateFromAndToDatePeriod(\n string $frequency,\n ?Carbon $fromDate = null,\n ?Carbon $toDate = null\n ): array {\n if ($frequency === self::FREQUENCY_ONE_OFF) {\n return [\n 'fromDate' => $fromDate,\n 'toDate' => $toDate,\n ];\n }\n\n $now = Carbon::now();\n\n return match ($frequency) {\n self::FREQUENCY_DAILY => [\n 'fromDate' => $now->copy()->subDay()->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_WEEKLY => [\n 'fromDate' => $now->copy()->subWeeks(1)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_MONTHLY => [\n 'fromDate' => $now->copy()->subMonths(1)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n self::FREQUENCY_QUARTERLY => [\n 'fromDate' => $now->copy()->subMonths(3)->startOfDay(),\n 'toDate' => $now->copy()->subDay()->endOfDay(),\n ],\n default => throw new InvalidArgumentException(\"Unsupported frequency: {$frequency}\"),\n };\n }\n\n private function calculateFromAndToDate(AutomatedReport $automatedReport): array\n {\n return $this->calculateFromAndToDatePeriod(\n $automatedReport->getFrequency(),\n $automatedReport->getFrom(),\n $automatedReport->getTo()\n );\n }\n\n public function getAskJiminnyGenerateReportPayload(\n AutomatedReport $automatedReport,\n AutomatedReportResult $reportResult,\n array $activityIds,\n ): array {\n return [\n 'user_question' => $automatedReport->getAskAnythingPrompt()?->getContent(),\n 'call_ids' => array_map('strval', $activityIds),\n 'team_id' => $automatedReport->getTeamId(),\n 'request_id' => $reportResult->getUuid(),\n 'callback_url' => $this->getCallbackUrl(),\n 'report_period' => $this->getReportPeriodName($reportResult),\n 'report_name' => $automatedReport->getCustomName(),\n ];\n }\n\n private function getCallbackUrl(): string\n {\n return $this->webhookService->route('jiminny.webhook.reports.ready');\n }\n\n /**\n * Validate and transform payload data for automated reports\n *\n * @param array $data\n *\n * @throws InvalidArgumentException\n *\n * @return array\n */\n private function validateAndTransformData(array $data): array\n {\n // Validate organization (team) and check feature\n $team = $this->validateOrganization($data['organization'] ?? null);\n\n $status = $this->validateReportStatus($data['report_enabled'] ?? null);\n $type = $this->validateReportType($data['report_type'] ?? null);\n $frequency = $this->validateFrequency($data['frequency'] ?? null);\n $additionalPromptInput = $this->validateAdditionalPromptInput(\n $data['additional_prompt_input'] ?? null\n );\n $customReportName = $this->validateCustomReportName($data['custom_name'] ?? null);\n\n // Prepare data for the database\n $reportData = [\n 'team_id' => $team->getId(),\n 'type' => $type,\n 'status' => $status,\n 'frequency' => $frequency,\n 'additional_prompt_input' => $additionalPromptInput,\n 'custom_name' => $customReportName,\n ];\n\n // Validate deal values\n $reportData = $this->validateDealValues($data, $reportData);\n\n // Validate date range\n $reportData = $this->validateDateRange($data, $reportData, $frequency);\n\n // Validate call durations\n $reportData = $this->validateCallDurations($data, $reportData);\n\n // Validate call types\n $reportData = $this->validateCallTypes($data, $reportData);\n\n // Validate media types\n $reportData = $this->validateMediaTypes($data, $reportData);\n\n // Validate groups\n if (isset($data['teams'])) {\n $reportData['groups'] = $this->validateAndGetGroupIds($team, $data['teams']);\n }\n\n // Validate deal stages\n $reportData = $this->validateDealStages($data, $reportData, $team, $type);\n\n // Validate playbook categories\n $reportData = $this->validatePlaybookCategories($data, $reportData, $team);\n\n // Validate recipients\n $reportData['recipients'] = [\n 'users' => $this->validateAndGetUserIdsByTeam($team, $data['recipients'] ?? []),\n ];\n\n if (isset($data['jiminny_recipients'])) {\n // Validate Jiminny recipients\n $reportData['jiminny_recipients'] = [\n 'users' => $this->validateAndGetJiminnyUserIds((array) $data['jiminny_recipients']),\n ];\n }\n\n return $reportData;\n }\n\n private function validateDealValues(array $data, array $reportData): array\n {\n if (isset($data['min_deal_value'])) {\n $reportData['deal_value_min'] = (int) $data['min_deal_value'];\n\n if ($reportData['deal_value_min'] > 4294967295 || $reportData['deal_value_min'] < 0) {\n throw new InvalidArgumentException('Min deal value should be between 0 and 4294967295');\n }\n }\n\n if (isset($data['max_deal_value'])) {\n $reportData['deal_value_max'] = (int) $data['max_deal_value'];\n\n if ($reportData['deal_value_max'] > 4294967295 || $reportData['deal_value_max'] < 0) {\n throw new InvalidArgumentException('Max deal value should be between 0 and 4294967295');\n }\n }\n\n if (isset($data['min_deal_value'], $data['max_deal_value'])\n && $data['min_deal_value'] > $data['max_deal_value']\n ) {\n throw new InvalidArgumentException('Min deal value cannot be greater than max deal value');\n }\n\n return $reportData;\n }\n\n private function validateDateRange(array $data, array $reportData, string $frequency): array\n {\n // Set date range only for one_off frequency\n if ($frequency === 'one_off') {\n if (isset($data['start_date_period'])) {\n $reportData['from'] = $this->parseDate($data['start_date_period']);\n }\n\n if (isset($data['end_date_period'])) {\n $reportData['to'] = $this->parseDate($data['end_date_period']);\n }\n\n if (empty($reportData['from']) || empty($reportData['to'])) {\n throw new InvalidArgumentException(\n 'Start date and end date are required for one_off frequency'\n );\n }\n } else {\n $reportData['from'] = null;\n $reportData['to'] = null;\n }\n\n return $reportData;\n }\n\n private function validateCallDurations(array $data, array $reportData): array\n {\n // Convert call durations from minutes to seconds\n if (isset($data['min_call_duration'])) {\n $reportData['call_duration_min'] = (int) $data['min_call_duration'] * 60;\n\n if ($reportData['call_duration_min'] > 4294967295 || $reportData['call_duration_min'] < 0) {\n throw new InvalidArgumentException('Min call duration should be between 0 and 4294967295');\n }\n }\n\n if (isset($data['max_call_duration'])) {\n $reportData['call_duration_max'] = (int) $data['max_call_duration'] * 60;\n\n if ($reportData['call_duration_max'] > 4294967295 || $reportData['call_duration_max'] < 0) {\n throw new InvalidArgumentException('Max call duration should be between 0 and 4294967295');\n }\n }\n\n return $reportData;\n }\n\n private function validateCallTypes(array $data, array $reportData): array\n {\n // Set call types\n $reportData['call_types'] = $data['call_type'] ?? [];\n if (empty($reportData['call_types'])) {\n $reportData['call_types'] = self::getCallTypes();\n }\n\n foreach ($reportData['call_types'] as $callType) {\n if (! in_array($callType, self::getCallTypes(), true)) {\n throw new InvalidArgumentException(sprintf('Call type %s is invalid', $callType));\n }\n }\n\n return $reportData;\n }\n\n private function validateMediaTypes(array $data, array $reportData): array\n {\n // Set media types from input data\n $reportData['media_types'] = $data['media_types'] ?? [];\n\n if (empty($reportData['media_types'])) {\n throw new InvalidArgumentException('Media types are required');\n }\n\n foreach ($reportData['media_types'] as $mediaType) {\n if (! in_array($mediaType, self::MEDIA_TYPES, true)) {\n throw new InvalidArgumentException(sprintf('Media type %s is invalid', $mediaType));\n }\n }\n\n return $reportData;\n }\n\n private function validateDealStages(array $data, array $reportData, Team $team, string $reportType): array\n {\n // Validate and set deal stages\n if (isset($data['deal_stage_at_call'])) {\n $reportData['deal_at_call_stages'] =\n $this->validateAndGetDealStageIds($team, $data['deal_stage_at_call'], 'Deal stage at call');\n }\n\n if (isset($data['current_deal_stage'])) {\n $reportData['current_deal_stages'] =\n $this->validateAndGetDealStageIds($team, $data['current_deal_stage'], 'Current deal stage');\n }\n\n // Ensure current_deal_stage is not provided for loss_analysis report type\n if ($reportType === self::TYPE_LOSS_ANALYSIS && ! empty($data['current_deal_stage'])) {\n throw new InvalidArgumentException('Current deal stage is not applicable for Loss Analysis reports');\n }\n\n return $reportData;\n }\n\n // transform uuid to id\n private function validatePlaybookCategories(array $data, array $reportData, Team $team): array\n {\n $key = 'playbook_categories';\n\n if (isset($data[$key])) {\n $payloadIds = $data[$key];\n $ids = [];\n\n foreach ($payloadIds as $uuid) {\n $uuid = (string) $uuid;\n\n try {\n $playbookCategory = $this->playbookCategoryRepository->findByUuid($uuid);\n } catch (Throwable $throwable) {\n Log::error(__METHOD__ . ' ' . $throwable->getMessage());\n\n throw new InvalidArgumentException(sprintf('Playbook category %s not found', $uuid));\n }\n\n if (! $playbookCategory) {\n throw new InvalidArgumentException(sprintf('Playbook category %s not found', $uuid));\n }\n\n if (! $playbookCategory->hasPlaybook()) {\n throw new InvalidArgumentException(sprintf('Playbook category %s has no playbook', $uuid));\n }\n\n if ($playbookCategory->getPlaybook()->getTeamId() !== $team->getId()) {\n throw new InvalidArgumentException(\n sprintf('Playbook category %s not found for team %s', $uuid, $team->getUuid())\n );\n }\n\n $ids[] = $playbookCategory->getId();\n }\n\n $reportData[$key] = $ids;\n }\n\n return $reportData;\n }\n\n private function validateReportStatus($status): bool\n {\n if (! in_array($status, [true, false], true)) {\n throw new InvalidArgumentException('Report status is invalid');\n }\n\n return $status;\n }\n\n private function validateReportType($type): string\n {\n if (! in_array($type, self::getTypes(), true)) {\n throw new InvalidArgumentException(sprintf('Report type is invalid: %s', $type));\n }\n\n return $type;\n }\n\n private function validateFrequency($frequency): string\n {\n if (! in_array($frequency, self::getFrequencies(), true)) {\n throw new InvalidArgumentException('Frequency is invalid');\n }\n\n return $frequency;\n }\n\n private function validateAdditionalPromptInput(?string $additionalPromptInput): ?string\n {\n if ($additionalPromptInput && strlen($additionalPromptInput) > 5000) {\n throw new InvalidArgumentException('Additional Prompt Input should be less than 5000 characters');\n }\n\n return $additionalPromptInput;\n }\n\n private function validateCustomReportName(?string $customReportName): ?string\n {\n if ($customReportName === null || $customReportName === '') {\n return null;\n }\n\n if (strlen($customReportName) > 70) {\n throw new InvalidArgumentException('Custom report name should be less than 70 characters');\n }\n\n return $customReportName;\n }\n\n private function validateOrganization(?string $organizationUuid): Team\n {\n if (! $organizationUuid) {\n throw new InvalidArgumentException('Organization is required');\n }\n\n $team = $this->teamRepository->idOrUuid($organizationUuid);\n\n if (! $team) {\n throw new InvalidArgumentException('Organization not found');\n }\n\n if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {\n throw new InvalidArgumentException('Organization does not have the Automated Reports feature');\n }\n\n return $team;\n }\n\n private function validateAndGetGroupIds(Team $team, array $teamUuids): array\n {\n $groupIds = [];\n\n foreach ($teamUuids as $uuid) {\n $group = $this->groupRepository->findByUuid($uuid);\n\n if ($group === null || $group->getTeamId() !== $team->getId()) {\n throw new InvalidArgumentException(\n sprintf('Group %s not found for team %s', $uuid, $team->getUuid())\n );\n }\n\n $groupIds[] = $group->getId();\n\n }\n\n return $groupIds;\n }\n\n private function validateAndGetDealStageIds(Team $team, array $stageUuids, string $propertyLabel): array\n {\n $stageIds = [];\n\n foreach ($stageUuids as $uuid) {\n $stage = $this->stageRepository->findByUuid($uuid);\n\n if ($stage === null || $stage->getTeamId() !== $team->getId()) {\n throw new InvalidArgumentException(\n sprintf('Stage %s not found for team %s for %s', $uuid, $team->getUuid(), $propertyLabel)\n );\n }\n\n $stageIds[] = $stage->getId();\n }\n\n return $stageIds;\n }\n\n private function validateAndGetUserIds(array $userUuids, callable $teamCheck): array\n {\n if (empty($userUuids)) {\n return [];\n }\n\n $userIds = [];\n\n foreach ($userUuids as $uuid) {\n $user = $this->userRepository->findByUuid($uuid);\n\n if (! $user || ! $user->isStatusActive()) {\n throw new InvalidArgumentException(\n sprintf('User %s not found or is not active', $uuid)\n );\n }\n\n if (! $teamCheck($user)) {\n throw new InvalidArgumentException(\n sprintf('User %s does not belong to the allowed team(s)', $uuid)\n );\n }\n\n $userIds[] = $user->getId();\n }\n\n return $userIds;\n }\n\n private function validateAndGetUserIdsByTeam(Team $team, array $userUuids): array\n {\n return $this->validateAndGetUserIds($userUuids, fn ($user) => $user->getTeamId() === $team->getId());\n }\n\n private function validateAndGetJiminnyUserIds(array $userUuids): array\n {\n $allowedTeamIds = config('kiosk.teamIds', []);\n\n return $this->validateAndGetUserIds($userUuids, fn ($user) => in_array($user->getTeamId(), $allowedTeamIds, true));\n }\n\n private function parseDate(string $dateString): string\n {\n return date('Y-m-d H:i:s', strtotime($dateString));\n }\n\n private function generateReportResultViewUrl(AutomatedReportResult $result): string\n {\n $mediaResource = $this->getReportMediaRouteResource($result);\n\n return route('ai-reports.' . $mediaResource . '.view', ['uuid' => $result->getUuid()]);\n }\n\n private function generateReportResultDownloadUrl(AutomatedReportResult $result): string\n {\n $mediaResource = $this->getReportMediaRouteResource($result);\n\n return route('ai-reports.' . $mediaResource . '.download', ['uuid' => $result->getUuid()]);\n }\n\n private function getReportMediaRouteResource(AutomatedReportResult $result): string\n {\n if ($result->getMediaType() === self::MEDIA_TYPE_PDF) {\n return self::PDF_KEY;\n } elseif ($result->getMediaType() === self::MEDIA_TYPE_PODCAST) {\n return self::AUDIO_KEY;\n }\n\n throw new \\InvalidArgumentException('Unknown media type.');\n }\n\n public function getMediaPath(AutomatedReportResult $result): ?string\n {\n $url = match ($result->getMediaType()) {\n self::MEDIA_TYPE_PDF => $result->getPdfUrl(),\n self::MEDIA_TYPE_PODCAST => $result->getPodcastAudioUrl(),\n default => null,\n };\n\n if ($url === null) {\n return null;\n }\n\n $path = parse_url(trim($url, '\"\\''), PHP_URL_PATH);\n\n return $path ?: null;\n }\n\n public function getFilenameSuffix(AutomatedReportResult $result): ?string\n {\n return match ($result->getMediaType()) {\n self::MEDIA_TYPE_PODCAST => 'Podcast',\n default => null,\n };\n }\n\n public function getMailSubjectSuffix(AutomatedReportResult $result): string\n {\n return match ($result->getMediaType()) {\n self::MEDIA_TYPE_PDF => 'report',\n self::MEDIA_TYPE_PODCAST => 'podcast',\n default => '',\n };\n }\n\n public function getMediaTypeMetadata(AutomatedReportResult $result): array\n {\n return match ($result->getMediaType()) {\n self::MEDIA_TYPE_PODCAST => ['extension' => 'mp3', 'mime' => 'audio/mpeg'],\n self::MEDIA_TYPE_PDF => ['extension' => 'pdf', 'mime' => 'application/pdf'],\n default => ['extension' => null, 'mime' => null],\n };\n }\n\n public function deleteS3Files(AutomatedReportResult $result): void\n {\n $teamUuid = $result->getReport()->getTeam()->getUuid();\n $reportUuid = $result->getUuid();\n\n // delete all files for a report uuid no mather of pdf, podcast, or both\n // in case of both - the podcast files are linked to the pdf (parent) uuid\n // pdf and podcast date times should be close\n $path = sprintf('%s/%s/%s', $teamUuid, self::S3_DIR, $reportUuid);\n\n foreach (self::FILE_EXTENSIONS_VARIANTS as $extension) {\n $file = $path . '.' . $extension;\n\n if (Storage::exists($file)) {\n Storage::delete($file);\n Log::info('[Reports] Deleted S3 file', [\n 'path' => $file,\n ]);\n }\n }\n\n foreach (self::FILE_PODCAST_EXTENSIONS_VARIANTS as $extension) {\n $file = $path . '_podcast.' . $extension;\n\n if (Storage::exists($file)) {\n Storage::delete($file);\n Log::info('[Reports] Deleted Podcast S3 file', [\n 'path' => $file,\n ]);\n }\n }\n }\n\n /**\n *\n * @param int|null $teamId Optional team ID to filter results\n *\n * @return Collection<int, int> Collection of team IDs\n */\n public function getTeamIdsWithReportsResults(?int $teamId = null): Collection\n {\n return $this->automatedReportsRepository->getTeamIdsWithReportsResults($teamId);\n }\n\n /**\n * Core delete logic for report results using a query\n *\n * @param Builder $query\n * @param array $logContext\n *\n * @return int\n */\n private function deleteReportResultsByQuery(Builder $query, array $logContext = []): int\n {\n $deletedCount = 0;\n\n if ($query->exists()) {\n Log::info(\n 'Run delete report results',\n array_merge(\n $logContext,\n [\n 'service' => 'AutomatedReportsService',\n ]\n )\n );\n\n $query->chunkById(50, function ($results) use (&$deletedCount, $logContext) {\n foreach ($results as $result) {\n $this->deleteReportResult($result);\n $deletedCount++;\n\n Log::info(\n 'Deleted a report result',\n array_merge(\n $logContext,\n [\n 'result_id' => $result->getId(),\n 'report_id' => $result->getReportId(),\n ]\n )\n );\n }\n });\n }\n\n return $deletedCount;\n }\n\n /**\n * Delete report results for a team by retention period\n *\n * @param Team $team\n * @param CarbonImmutable $retentionDate\n *\n * @return int Number of deleted report results\n */\n public function deleteReportsResultsInRetentionPeriod(Team $team, CarbonImmutable $retentionDate): int\n {\n $reportIds = $this->automatedReportsRepository->getReportIdsByTeam($team);\n\n if ($reportIds->isEmpty()) {\n return 0;\n }\n\n $query = $this->automatedReportsRepository\n ->getReportResultsQueryForRetention($team, $retentionDate);\n\n return $this->deleteReportResultsByQuery($query, [\n 'team_id' => $team->getId(),\n 'retention_date' => $retentionDate->toDateTimeString(),\n ]);\n }\n\n /**\n * Delete ALL report results for a specific automated report\n *\n * @param string $uuid\n *\n * @return int\n */\n public function deleteReportResults(string $uuid): int\n {\n $report = $this->getReport($uuid);\n\n $query = $this->automatedReportsRepository->getResultsByReportQuery($report);\n\n return $this->deleteReportResultsByQuery($query, [\n 'report_uuid' => $uuid,\n 'report_id' => $report->getId(),\n ]);\n }\n\n public function deleteReportResult(AutomatedReportResult $result): void\n {\n $this->deleteS3Files($result);\n\n $result->delete();\n }\n\n /**\n * Get all reports for a specific team\n *\n * @param Team $team\n *\n * @return \\Illuminate\\Database\\Eloquent\\Collection\n */\n public function getTeamReports(Team $team): \\Illuminate\\Database\\Eloquent\\Collection\n {\n return $this->automatedReportsRepository->getReportsByTeam($team);\n }\n\n /**\n * Get all report results for a specific report\n *\n * @param AutomatedReport $report\n *\n * @return \\Illuminate\\Database\\Eloquent\\Collection\n */\n public function getReportResults(AutomatedReport $report): \\Illuminate\\Database\\Eloquent\\Collection\n {\n return $this->automatedReportsRepository->getResultsByReport($report);\n }\n\n public function deleteAllReportResults(AutomatedReport $report): void\n {\n $results = $this->getReportResults($report);\n\n /** @var AutomatedReportResult $result */\n foreach ($results as $result) {\n Log::info('Deleting result', [\n 'report' => $report->getId(),\n 'result' => $result->getId(),\n ]);\n\n $this->deleteReportResult($result);\n }\n }\n\n public function deleteAllData(Team $team): void\n {\n Log::info('Deleting automated report and results for team', [\n 'team' => $team->getId(),\n ]);\n\n $reports = $this->getTeamReports($team);\n\n /** @var AutomatedReport $report */\n foreach ($reports as $report) {\n Log::info('Deleting report', [\n 'team' => $team->getId(),\n 'report' => $report->getId(),\n ]);\n\n $this->deleteAllReportResults($report);\n\n $report->delete();\n }\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"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":"19","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"17","depth":4,"role_description":"text"},{"role":"AXStaticText","text":"13","depth":4,"role_description":"text"}]...
|
9094949353645391357
|
1126710648141684156
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsServiceTest
Run 'AutomatedReportsServiceTest'
Debug 'AutomatedReportsServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
1
102
3
34
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Kiosk\AutomatedReports;
use Carbon\CarbonImmutable;
use Carbon\CarbonInterface;
use Carbon\Exceptions\InvalidFormatException;
use DateTime;
use DateTimeInterface;
use DateTimeZone;
use Illuminate\Contracts\Bus\Dispatcher as BusDispatcher;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Carbon;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Storage;
use Jiminny\Component\ActivitySearch\FilterDefinition\InputTypeEnum;
use Jiminny\Component\AskAnything\AskAnythingPromptService;
use Jiminny\Component\AskAnything\Dtos\AskAnythingPromptDto;
use Jiminny\Component\UrlGenerator\Webhook;
use Jiminny\Contracts\Repositories\PlaybookCategoryRepository;
use Jiminny\Contracts\Repositories\TeamRepository;
use Jiminny\Contracts\Repositories\UserRepository;
use Jiminny\Exceptions\ApplicationException;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Exceptions\ModelNotFoundException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateReportJob;
use Jiminny\Models\Activity\Search;
use Jiminny\Models\AskAnything\AskAnythingPrompt;
use Jiminny\Models\AskAnything\AskAnythingPromptTarget;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Models\Contracts\UserContract;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Team;
use Jiminny\Models\User;
use Jiminny\Repositories\AskAnythingRepository;
use Jiminny\Repositories\AutomatedReportsRepository;
use Jiminny\Repositories\GroupRepository;
use Jiminny\Repositories\SearchRepository;
use Jiminny\Repositories\StageRepository;
use Throwable;
class AutomatedReportsService
{
public const string TYPE_LOSS_ANALYSIS = 'loss_analysis';
public const string TYPE_ASK_JIMINNY = 'ask_jiminny';
/**
* Standard report types (used by kiosk for existing automated reports).
*/
// @TODO this will add filter, however if we need to control feature by FF we need conditional logic
public const array TYPES = [
['id' => 'exec_summary', 'name' => 'Exec Summary'],
['id' => 'coaching_profiles', 'name' => 'Coaching Profiles'],
['id' => 'product_feedback', 'name' => 'Product Feedback'],
['id' => self::TYPE_LOSS_ANALYSIS, 'name' => 'Loss Analysis'],
// ['id' => 'questions', 'name' => 'Questions'],
// ['id' => 'statistical_quant', 'name' => 'Statistical Quantitative'],
];
public const array ALL_TYPES = [
...self::TYPES,
['id' => self::TYPE_ASK_JIMINNY, 'name' => 'Ask Jiminny'],
];
public const string FREQUENCY_DAILY = 'daily';
public const string FREQUENCY_WEEKLY = 'weekly';
public const string FREQUENCY_MONTHLY = 'monthly';
public const string FREQUENCY_QUARTERLY = 'quarterly';
public const string FREQUENCY_ONE_OFF = 'one_off';
/**
* Frequencies for standard (non-Ask Jiminny) reports.
*/
public const array FREQUENCIES = [
['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],
['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],
['id' => self::FREQUENCY_QUARTERLY, 'name' => 'Quarterly'],
['id' => self::FREQUENCY_ONE_OFF, 'name' => 'One-off'],
];
/**
* Frequencies for Ask Jiminny reports.
*/
public const array ASK_JIMINNY_FREQUENCIES = [
['id' => self::FREQUENCY_DAILY, 'name' => 'Daily'],
['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],
['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],
];
public const string MEDIA_TYPE_PDF = 'pdf';
public const string MEDIA_TYPE_PODCAST = 'podcast';
public const array MEDIA_TYPES = [self::MEDIA_TYPE_PDF, self::MEDIA_TYPE_PODCAST];
public const array MEDIA_TYPE_OBJECT_PDF = ['id' => self::MEDIA_TYPE_PDF, 'name' => 'PDF'];
public const array MEDIA_TYPE_OBJECT_PODCAST = ['id' => self::MEDIA_TYPE_PODCAST, 'name' => 'Podcast'];
public const array MEDIA_TYPE_OBJECTS = [self::MEDIA_TYPE_OBJECT_PDF, self::MEDIA_TYPE_OBJECT_PODCAST];
public const array CALL_TYPE_CONFERENCE = ['id' => 'conference', 'name' => 'Conference'];
public const array CALL_TYPE_DIALER = ['id' => 'dialer', 'name' => 'Dialer'];
public const int SENT_REPORT_AT_HOURS = 5;
public const string PDF_KEY = 'pdf';
public const string AUDIO_KEY = 'audio';
private const array ALL_FREQUENCIES = [
['id' => self::FREQUENCY_DAILY, 'name' => 'Daily'],
['id' => self::FREQUENCY_WEEKLY, 'name' => 'Weekly'],
['id' => self::FREQUENCY_MONTHLY, 'name' => 'Monthly'],
['id' => self::FREQUENCY_QUARTERLY, 'name' => 'Quarterly'],
['id' => self::FREQUENCY_ONE_OFF, 'name' => 'One-off'],
];
private const string S3_DIR = 'reports';
private const array FILE_EXTENSIONS_VARIANTS = ['html', 'MD', 'pdf'];
private const array FILE_PODCAST_EXTENSIONS_VARIANTS = ['json', 'mp3', 'ssml'];
public function __construct(
private readonly TeamRepository $teamRepository,
private readonly GroupRepository $groupRepository,
private readonly UserRepository $userRepository,
private readonly StageRepository $stageRepository,
private readonly DealStagesService $dealStagesService,
private readonly RecipientsService $recipientsService,
private readonly AutomatedReportsRepository $automatedReportsRepository,
private readonly Webhook $webhookService,
private readonly BusDispatcher $dispatcher,
private readonly ActivityTypeService $activityTypeService,
private readonly PlaybookCategoryRepository $playbookCategoryRepository,
private readonly AskAnythingPromptService $askAnythingPromptService,
private readonly SearchRepository $activitySearchRepository,
private readonly AskAnythingRepository $askAnythingRepository,
) {
}
public static function getTypes(): array
{
$types = self::TYPES;
return array_map(static function ($type) {
return $type['id'];
}, $types);
}
public static function getCallTypes(): array
{
return array_map(static function ($callType) {
return $callType['id'];
}, [self::CALL_TYPE_CONFERENCE, self::CALL_TYPE_DIALER]);
}
public static function getFrequencies(): array
{
return array_map(static function ($frequency) {
return $frequency['id'];
}, self::FREQUENCIES);
}
// front-facing structure
public function getReportEnabledFieldData(bool $value = false): array
{
return [
'id' => 'report_enabled',
'label' => '',
'inputType' => InputTypeEnum::TOGGLE,
'value' => $value,
];
}
// Organizations = Teams
public function getOrganizationFieldData(?string $value = null, bool $shortVersion = false): array
{
$options = $this->getTeams();
if ($shortVersion) {
return [
'id' => 'organization',
'label' => 'Organization',
'options' => $options,
];
}
return [
'id' => 'organization',
'label' => 'Organization',
'inputType' => InputTypeEnum::DROPDOWN,
'required' => true,
'placeholder' => 'Select',
'options' => $options,
'value' => $value,
'dependencies' => [
'teams',
'deal_stage_at_call',
'current_deal_stage',
'recipients',
ActivityTypeService::PLAYBOOK_CATEGORIES_KEY,
],
'dependsOn' => [],
];
}
// Teams = Groups
public function getTeamFieldData(array $options = [], array $value = [], bool $shortVersion = false): array
{
if ($shortVersion) {
return [
'id' => 'teams',
'label' => 'Team',
'options' => $options,
];
}
return [
'id' => 'teams',
'label' => 'Team',
'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,
'required' => false,
'placeholder' => 'Select',
'options' => $options,
'value' => $value, // value should be an array of objects {id, name}
'dependencies' => [ActivityTypeService::PLAYBOOK_CATEGORIES_KEY],
'dependsOn' => [],
];
}
public function getReportTypeFieldData(?string $value = null, bool $shortVersion = false, ?Team $team = null): array
{
$types = [];
if ($team instanceof Team) {
if ($team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {
$types = self::TYPES;
}
if ($team->hasFeature(FeatureEnum::ASK_JIMINNY_REPORTS)) {
$types[] = ['id' => self::TYPE_ASK_JIMINNY, 'name' => 'Ask Jiminny'];
}
} else {
$types = self::TYPES;
}
if ($shortVersion) {
return [
'id' => 'report_type',
'label' => 'Report Type',
'options' => $types,
];
}
return [
'id' => 'report_type',
'label' => 'Report Type',
'inputType' => InputTypeEnum::DROPDOWN,
'required' => true,
'placeholder' => 'Select',
'options' => $types,
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
public function getFrequencyFieldData(?string $value = null): array
{
return [
'id' => 'frequency',
'label' => 'Frequency',
'inputType' => InputTypeEnum::DROPDOWN,
'required' => true,
'placeholder' => 'Select',
'options' => self::FREQUENCIES,
'value' => $value,
'dependencies' => ['period'],
'dependsOn' => [],
];
}
public function getPeriodFieldData(?string $valueStartDate = null, ?string $valueEndDate = null): array
{
return [
'id' => 'period',
'label' => 'Select one-off period',
'inputType' => InputTypeEnum::DATE_RANGE,
'required' => true,
'placeholder' => 'Select',
'value' => ['startDate' => $valueStartDate, 'endDate' => $valueEndDate],
'queryParams' => [
'startDate' => 'start_date_period',
'endDate' => 'end_date_period',
],
'dependencies' => [],
'dependsOn' => ['frequency'],
];
}
public function getActivityTypesFieldData(?Team $team = null, array $value = [], array $teamsFilter = []): array
{
return $this->activityTypeService->getActivityTypeFieldData(team: $team, value: $value, groupIds: $teamsFilter);
}
public function getDealStageAtCallFieldData(?Team $team = null, array $value = []): array
{
return $this->dealStagesService->getDealStageAtCallFieldData(team: $team, value: $value);
}
public function getCurrentDealStageFieldData(?Team $team = null, array $value = []): array
{
return $this->dealStagesService->getCurrentDealStageFieldData(team: $team, value: $value);
}
public function getDealValueFieldData(?int $valueMin = null, ?int $valueMax = null): array
{
return [
'id' => 'deal_value',
'label' => 'Deal Value',
'inputType' => InputTypeEnum::INTEGER_RANGE,
'required' => false,
'value' => ['min' => $valueMin, 'max' => $valueMax],
'queryParams' => [
'min' => 'min_deal_value',
'max' => 'max_deal_value',
],
'dependencies' => [],
'dependsOn' => [],
];
}
public function getCallTypeFieldData(bool $conferenceOn = false, bool $dialerOn = false): array
{
$value = [];
$conferenceOn && $value[] = self::CALL_TYPE_CONFERENCE;
$dialerOn && $value[] = self::CALL_TYPE_DIALER;
return [
'id' => 'call_type',
'label' => 'Call Type',
'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,
'required' => true,
'options' => [
self::CALL_TYPE_CONFERENCE,
self::CALL_TYPE_DIALER,
],
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
public function getMediaTypeFieldData(?AutomatedReport $report = null): array
{
$value = [];
if ($report) {
$value = $this->transformMediaTypes($report);
}
return [
'id' => 'media_types',
'label' => 'Export as',
'inputType' => InputTypeEnum::DROPDOWN_MULTIPLE,
'required' => true,
'options' => self::MEDIA_TYPE_OBJECTS,
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
public function getCallDurationFieldData(?int $valueMin = null, ?int $valueMax = null): array
{
return [
'id' => 'call_duration',
'label' => 'Call Duration',
'inputType' => InputTypeEnum::INTEGER_RANGE,
'required' => false,
'value' => ['min' => $valueMin, 'max' => $valueMax],
'queryParams' => [
'min' => 'min_call_duration',
'max' => 'max_call_duration',
],
'dependencies' => [],
'dependsOn' => [],
];
}
public function getRecipientsFieldData(?Team $team = null, array $value = []): array
{
return $this->recipientsService->getRecipientsFieldData(team: $team, value: $value);
}
public function getJiminnyRecipientsFieldData(array $value = []): array
{
return $this->recipientsService->getJiminnyRecipientsFieldData($value);
}
public function getAdditionalPromptInputFieldData(?string $value = null): array
{
return [
'id' => 'additional_prompt_input',
'label' => 'Special requirements',
'inputType' => InputTypeEnum::TEXTAREA,
'required' => false,
'placeholder' => 'What should be the focus of the report?',
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
public function getCustomReportNameFieldData(?string $value = null): array
{
return [
'id' => 'custom_name',
'label' => 'Custom report name',
'inputType' => InputTypeEnum::TEXT,
'required' => false,
'placeholder' => 'Enter custom name',
'value' => $value,
'dependencies' => [],
'dependsOn' => [],
];
}
// data providers
public function getTeams(): array
{
$teams = $this->teamRepository->getTeamsForKiosk(status: Team::STATUS_ACTIVE);
$teamData = [];
foreach ($teams as $team) {
if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {
continue;
}
$teamData[] = $this->transformTeam($team);
}
return $teamData;
}
public function getTeamGroups(string $teamUuid): array
{
$data = [];
$team = $this->getTeam($teamUuid);
if ($team !== null) {
$groups = $team->groups()->get();
foreach ($groups as $group) {
$data[] = [
'id' => $group->getUuid(),
'name' => $group->getName(),
];
}
}
return $data;
}
public function getTeamsGroupsOptions(array $filterTeamUuids = []): array
{
$data = [];
$teams = $this->getTeams();
foreach ($teams as $team) {
if (! empty($filterTeamUuids) && ! in_array($team['id'], $filterTeamUuids, true)) {
continue;
}
$data[] = [
'label' => $team['name'],
'groups' => $this->getTeamGroups($team['id']),
];
}
return $data;
}
public function getTeam(string $teamUuid): ?Team
{
return $this->teamRepository->idOrUuid($teamUuid);
}
public function getTeamById(int $teamId): ?Team
{
return $this->teamRepository->find($teamId);
}
public function getGroupsUuids(AutomatedReport $report): array
{
$uuids = [];
$reportGroups = $report->getGroups();
foreach ($reportGroups as $groupId) {
if ($group = $this->groupRepository->find($groupId)) {
$uuids[] = $group->getUuid();
}
}
return $uuids;
}
public function getPlaybookCategoriesUuids(AutomatedReport $report): array
{
$uuids = [];
$playbookCategories = $report->getPlaybookCategories();
foreach ($playbookCategories as $id) {
if ($category = $this->playbookCategoryRepository->find($id)) {
$uuids[] = $category->getUuid();
}
}
return $uuids;
}
public function getDealAtCallStagesUuids(AutomatedReport $report): array
{
$uuids = [];
$reportStages = $report->getDealAtCallStages();
foreach ($reportStages as $id) {
if ($stage = $this->stageRepository->find($id)) {
$uuids[] = $stage->getUuid();
}
}
return $uuids;
}
public function getCurrentDealStagesUuids(AutomatedReport $report): array
{
$uuids = [];
$reportStages = $report->getCurrentDealStages();
foreach ($reportStages as $id) {
if ($stage = $this->stageRepository->find($id)) {
$uuids[] = $stage->getUuid();
}
}
return $uuids;
}
public function getUsersUuids(AutomatedReport $report): array
{
return $this->extractUserUuids($report->getRecipients());
}
public function getJiminnyUsersUuids(AutomatedReport $report): array
{
return $this->extractUserUuids($report->getJiminnyRecipients());
}
/**
* @param array<string, mixed> $recipients
*/
private function extractUserUuids(array $recipients): array
{
$userIds = $recipients['users'] ?? [];
return collect($userIds)
->map(fn ($id) => $this->userRepository->find((int) $id))
->filter()
->map(fn (UserContract $user) => $user->getUuid())
->values()
->all();
}
// get mail data
public function getRecipientUsers(AutomatedReport $report): array
{
return $this->buildRecipientUsers($report->getRecipients());
}
/**
* @return array<UserContract>
*/
public function getRecipientUserObjects(AutomatedReport $report): array
{
$userIds = $report->getRecipients()['users'] ?? [];
return collect($userIds)
->map(fn ($id) => $this->userRepository->find((int) $id))
->filter()
->values()
->all();
}
private function getJiminnyRecipientUsers(AutomatedReport $report): array
{
return $this->buildRecipientUsers($report->getJiminnyRecipients());
}
/**
* @param array<string, mixed> $recipients
*/
private function buildRecipientUsers(array $recipients): array
{
$userIds = $recipients['users'] ?? [];
return collect($userIds)
->map(fn ($id) => $this->userRepository->find((int) $id))
->filter()
->map(fn (UserContract $user) => [
'email' => $user->getEmailAddress(),
'name' => $user->getName(),
'timezone' => $user->getTimezone()->getName(),
])
->values()
->all();
}
public function getValidRecipientUsers(AutomatedReport $report, bool $includeJiminny = false): array
{
if ($report->isAskJiminnyReport()) {
$recipients = $this->resolveAskJiminnyRecipients($report);
} else {
$recipients = $this->getRecipientUsers($report);
if ($includeJiminny) {
$recipients = array_merge($recipients, $this->getJiminnyRecipientUsers($report));
}
}
$emails = [];
return array_values(array_filter(
$recipients,
static function ($recipient) use (&$emails) {
if (empty($recipient['email']) || in_array($recipient['email'], $emails, true)) {
return false;
}
$emails[] = $recipient['email'];
return true;
}
));
}
private function resolveAskJiminnyRecipients(AutomatedReport $report): array
{
$recipients = [];
$creator = $report->getCreator();
if ($creator !== null) {
$recipients[] = [
'email' => $creator->getEmailAddress(),
'name' => $creator->getName(),
'timezone' => $creator->getTimezone()->getName(),
];
}
return array_merge(
$recipients,
$this->buildRecipientUsers($report->getRecipients()),
$this->getGroupRecipientUsers($report),
);
}
private function getGroupRecipientUsers(AutomatedReport $report): array
{
$users = [];
foreach ($report->getGroups() as $groupId) {
$group = $this->groupRepository->find($groupId);
if ($group === null) {
continue;
}
foreach ($group->getMembers() as $member) {
$users[] = [
'email' => $member->getEmailAddress(),
'name' => $member->getName(),
'timezone' => $member->getTimezone()->getName(),
];
}
}
return $users;
}
public function getReportTypeName(AutomatedReportResult $report): string
{
$type = $report->getReport()->getType();
$getType = $this->transformReportType($type);
return $getType['name'];
}
public function getReportPeriodName(AutomatedReportResult $report): string
{
$from = $report->getFromDate();
$to = $report->getToDate();
$frequency = $report->getReport()->getFrequency();
if ($from === null || $to === null) {
if (! $report->getReport()->isAskJiminnyReport()) {
$invalidPeriod = $from === null ? 'from' : 'to';
throw new ApplicationException('Report period is invalid: ' . $invalidPeriod);
}
$period = $this->calculateFromAndToDatePeriod($frequency);
$from = $period['fromDate'];
$to = $period['toDate'];
}
return $this->formatReportPeriodName($frequency, $from, $to);
}
private function formatReportPeriodName(string $frequency, Carbon $from, Carbon $to): string
{
$fromYear = $from->format('Y');
$toYear = $to->format('Y');
$differentYears = $fromYear !== $toYear;
switch ($frequency) {
case self::FREQUENCY_DAILY:
return $from->format('j M Y');
case self::FREQUENCY_QUARTERLY:
// 'Jan-Mar 2025' or 'Nov 2024-Jan 2025' if years differ
$startMonth = $from->format('M');
$endMonth = $to->copy()->subMonth();
$endMonthName = $endMonth->format('M');
$endMonthYear = $endMonth->format('Y');
if ($differentYears) {
return "{$startMonth} {$fromYear} - {$endMonthName} {$endMonthYear}";
}
return "{$startMonth} - {$endMonthName} {$toYear}";
case self::FREQUENCY_MONTHLY:
// 'May 2025' - monthly reports are always within the same year
return $from->format('M Y');
case self::FREQUENCY_WEEKLY:
// '4 - 8 Aug 2025', '27 Oct - 3 Nov 2025', or '28 Dec 2024 - 3 Jan 2025' if years differ
$startDay = $from->format('j');
$endDay = $to->format('j');
$startMonth = $from->format('M');
$endMonth = $to->format('M');
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
if ($startMonth !== $endMonth) {
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
}
return "{$startDay} - {$endDay} {$endMonth} {$toYear}";
case self::FREQUENCY_ONE_OFF:
// '2 May-31 May 2025' or '15 Dec 2024-15 Jan 2025' if years differ
$startDay = $from->format('j');
$startMonth = $from->format('M');
$endDay = $to->format('j');
$endMonth = $to->format('M');
// If same month and year, use a format like '2-31 May 2025'
if ($startMonth === $endMonth && ! $differentYears) {
return "{$startDay} - {$endDay} {$startMonth} {$toYear}";
}
// If different years, include both years
if ($differentYears) {
return "{$startDay} {$startMonth} {$fromYear} - {$endDay} {$endMonth} {$toYear}";
}
// Same year but different months
return "{$startDay} {$startMonth} - {$endDay} {$endMonth} {$toYear}";
default:
// Default format for unknown frequencies
return $from->format('j M Y') . ' - ' . $to->format('j M Y');
}
}
public function getReportTeamsName(AutomatedReportResult $report): string
{
$groups = $report->getGroups();
if (empty($groups)) {
return 'All';
}
// Get group names from repository
$groupNames = [];
foreach ($groups as $groupId) {
$group = $this->groupRepository->find($groupId);
if ($group) {
$groupNames[] = $group->getName();
}
}
if (count($groupNames) === 1) {
// Single team format
$teamsName = $groupNames[0];
} else {
// Multiple teams format
$teamsName = implode(', ', $groupNames);
}
return $teamsName;
}
public function getReportFileName(AutomatedReportResult $report): string
{
$customName = $report->getReport()->getCustomName();
$periodName = $this->getReportPeriodName($report);
$filenameSuffix = $this->getFilenameSuffix($report);
if ($customName) {
if ($filenameSuffix) {
$customName .= " {$filenameSuffix}";
}
return $this->sanitizeFileName("{$customName} - {$periodName}");
}
$baseName = $this->getReportTypeName($report);
if ($filenameSuffix) {
$baseName .= " {$filenameSuffix}";
}
return $this->sanitizeFileName("{$baseName} - {$periodName} - {$this->getReportTeamsName($report)}");
}
public function getReportFileNameWithExtension(AutomatedReportResult $result): string
{
$extension = $this->getMediaTypeMetadata($result)['extension'];
return $this->getReportFileName($result) . '.' . $extension;
}
public function sanitizeFileName(string $fileName): string
{
return str_replace(['/', '\\'], '-', $fileName);
}
public function isUserRecipientOfReport(User $user, AutomatedReport $report): bool
{
$recipients = array_map('intval', $report->getRecipients()['users'] ?? []);
return in_array($user->getId(), $recipients);
}
public function isUserRecipientOfReport(User $user, AutomatedReport $report): bool
{
$recipientIds = array_map('intval', $report->getRecipients()['users'] ?? []);
if (in_array($user->getId(), $recipientIds, true)) {
return true;
}
if ($report->isAskJiminnyReport()) {
$groupId = $user->getGroupId();
if ($groupId !== null && in_array($groupId, $report->getGroups(), true)) {
return true;
}
}
return false;
}
public function transformReportResults(Collection $automatedReportResults): array
{
$data = [];
foreach ($automatedReportResults as $automatedReportResult) {
/** @var AutomatedReportResult $automatedReportResult */
$report = $automatedReportResult->getReport();
$createdBy = $report->getCreator();
$creator = [
'id' => $createdBy?->getUuid(),
'name' => $createdBy?->getName(),
'email' => $createdBy?->getEmailAddress(),
'photoUrl' => $createdBy?->getPhotoUrl(),
];
$data[] = [
'id' => $automatedReportResult->getUuid(),
'name' => $automatedReportResult->getName(),
'frequency' => $this->transformFrequency($report->getFrequency()),
'recipients' => $this->buildRecipients($report),
'report_type' => $this->transformReportType($report->getType()),
'media_type' => $automatedReportResult->getMediaType(),
'downloadUrl' => $this->generateReportResultDownloadUrl($automatedReportResult),
'viewUrl' => $this->generateReportResultViewUrl($automatedReportResult),
'generated_at' => $automatedReportResult->getGeneratedAt()?->toIso8601String(),
'creator' => $creator,
];
}
return $data;
}
private function buildRecipients(AutomatedReport $report): array
{
$creatorUuid = $report->getCreator()?->getUuid();
$recipients = array_values(array_filter(
$this->transformRecipients($report->getRecipients()),
static fn (array $recipient): bool => $recipient['id'] !== $creatorUuid,
));
if (! $report->isAskJiminnyReport()) {
return $recipients;
}
return [
...array_values($this->transformGroups(team: $report->getTeam(), groupsIds: $report->getGroups())),
...$recipients,
];
}
public function hasCallTypeConference(AutomatedReport $report): bool
{
return in_array(self::CALL_TYPE_CONFERENCE['id'], $report->getCallTypes(), true);
}
public function hasCallTypeDialer(AutomatedReport $report): bool
{
return in_array(self::CALL_TYPE_DIALER['id'], $report->getCallTypes(), true);
}
// transformers
private function transformTeam(Team $team): array
{
if (! $team->hasFeature(FeatureEnum::AUTOMATED_REPORTS)) {
return [];
}
return [
'id' => $team->getUuid(),
'name' => $team->getName(),
];
}
private function transformReportFullView(AutomatedReport $report): array
{
$base = $this->transformReportBase($report);
return $report->getType() === self::TYPE_ASK_JIMINNY
? $base + $this->transformAskJiminnyFields($report)
: $base + $this->transformStandardReportFields($report);
}
private function transformReportBase(AutomatedReport $report): array
{
return [
'id' => $report->getUuid(),
'organization' => $this->transformOrganization(team: $report->getTeam()),
'report_type' => $this->transformReportType($report->getType()),
'frequency' => $this->transformFrequency($report->getFrequency()),
];
}
private function transformStandardReportFields(AutomatedReport $report): array
{
$team = $report->getTeam();
return [
'report_enabled' => $report->getStatus(),
'start_date_period' => $report->getFrom()?->format('Y-m-d H:i:s'),
'end_date_period' => $report->getTo()?->format('Y-m-d H:i:s'),
'deal_value_min' => $report->getDealValueMin(),
'deal_value_max' => $report->getDealValueMax(),
'call_types' => $this->transformCallType($report->getCallTypes()),
'media_types' => $this->transformMediaTypes($report),
'call_duration_min' => $this->transformDurationToMinutes($report->getCallDurationMin()),
'call_duration_max' => $this->transformDurationToMinutes($report->getCallDurationMax()),
'teams' => $this->transformGroups(team: $team, groupsIds: $report->getGroups()),
'deal_at_call_stages' => $this->transformStages(team: $team, stagesIds: $report->getDealAtCallStages()),
'current_deal_stages' => $this->transformStages(team: $team, stagesIds: $report->getCurrentDealStages()),
'recipients' => $this->transformRecipients($report->getRecipients()),
'created_by' => $this->transformCreator($report->getCreator()),
'additional_prompt_input' => $report->getAdditionalPromptInput(),
'custom_name' => $report->getCustomName(),
'created_at' => $report->getCreatedAt()->format('Y-m-d H:i:s'),
'updated_at' => $report->getUpdatedAt()->format('Y-m-d H:i:s'),
'deleted_at' => $report->getDeletedAt()?->format('Y-m-d H:i:s'),
];
}
private function transformAskJiminnyFields(AutomatedReport $report): array
{
$team = $report->getTeam();
$creatorId = $report->getAttribute('created_by');
$explicitUserIds = array_values(array_filter(
$report->getRecipients()['users'] ?? [],
static fn ($id) => $id !== $creatorId
));
return [
'report_name' => $report->getCustomName(),
'enabled' => $report->getStatus(),
'share_teams' => $this->transformGroups(team: $team, groupsIds: $report->getGroups()),
'share_users' => $this->transformRecipients(['users' => $explicitUserIds]),
'saved_search' => $this->transformSafeSearch($report->getSavedSearch()),
'ask_jiminny_prompt' => $this->transformAskJiminnyPrompt($report->getAskAnythingPrompt()),
'expires_on' => $report->getExpiresAt()?->format('Y-m-d'),
];
}
private function transformOrganization(?Team $team): array
{
return [
'id' => $team?->getUuid(),
'name' => $team?->getName(),
];
}
private function transformReportType(string $type): array
{
foreach (self::ALL_TYPES as $typeItem) {
if ($typeItem['id'] === $type) {
return $typeItem;
}
}
return [];
}
private function transformCallType(array $types): array
{
$result = [];
$callTypes = [self::CALL_TYPE_CONFERENCE, self::CALL_TYPE_DIALER];
foreach ($types as $type) {
foreach ($callTypes as $callTypeItem) {
if ($callTypeItem['id'] === $type) {
$result[] = $callTypeItem;
break;
}
}
}
return $result;
}
private function transformMediaTypes(AutomatedReport $report): array
{
$values = [];
foreach ($report->getMediaTypes() as $mediaType) {
if (! in_array($mediaType, self::MEDIA_TYPES, true)) {
continue;
}
$values[] = match ($mediaType) {
self::MEDIA_TYPE_PDF => self::MEDIA_TYPE_OBJECT_PDF,
self::MEDIA_TYPE_PODCAST => self::MEDIA_TYPE_OBJECT_PODCAST,
};
}
return $values;
}
private function transformFrequency(string $frequency): array
{
foreach (self::ALL_FREQUENCIES as $frequencyItem) {
if ($frequencyItem['id'] === $frequency) {
return $frequencyItem;
}
}
return [];
}
public function transformDurationToMinutes(?int $duration): ?int
{
if (! $duration) {
return null;
}
return (int) ($duration / 60);
}
private function transformGroups(?Team $team, array $groupsIds): array
{
if (empty($groupsIds) || ! $team) {
return [];
}
$data = [];
foreach ($groupsIds as $groupId) {
$group = $team->groups()->where('id', $groupId)->first();
if ($group) {
$data[] = [
'id' => $group->getUuid(),
'name' => $group->getName(),
'photoUrl' => $group->getPhotoUrl(),
];
}
}
return $data;
}
private function transformStages(?Team $team, array $stagesIds): array
{
if (empty($stagesIds) || ! $team) {
return [];
}
$data = [];
foreach ($stagesIds as $stageId) {
$stage = $team->stages()->where('id', $stageId)->first();
if ($stage) {
$data[] = [
'id' => $stage->getUuid(),
'name' => $stage->getName(),
];
}
}
return $data;
}
private function transformRecipients(array $recipients): array
{
$users = [];
foreach ($recipients['users'] ?? [] as $userId) {
$users[] = $this->transformUser($userId);
}
return $users;
}
private function transformCreator(?User $user): ?array
{
if ($user === null) {
return null;
}
return $this->transformUser($user->getId());
}
private function transformAskJiminnyPrompt(?AskAnythingPrompt $prompt): ?array
{
if ($prompt === null) {
return null;
}
return [
'id' => $prompt->getUuid(),
'name' => $prompt->getTitle(),
];
}
private function transformSafeSearch(?Search $search): ?array
{
if ($search === null) {
return null;
}
return [
'id' => $search->getUuid(),
'name' => $search->getName(),
];
}
private function transformUser(int $userId): array
{
/* @var ?User $user */
$user = $this->userRepository->find($userId);
return [
'id' => $user?->getUuid(),
'name' => $user?->getName(),
'email' => $user?->getEmailAddress(),
'photoUrl' => $user?->getPhotoUrl(),
];
}
public function create(array $data): array
{
$validatedData = $this->validateAndTransformData($data);
$validatedData['created_by'] = auth()->id();
$automatedReport = $this->automatedReportsRepository->create($validatedData);
$this->generateOneOffReport($automatedReport);
return $this->transformReportFullView($automatedReport);
}
public function update(string $uuid, array $data): array
{
$validatedData = $this->validateAndTransformData($data);
$report = $this->automatedReportsRepository->findByUuid($uuid);
if (! $report) {
throw new InvalidArgumentException('Report not found');
}
$oldCustomName = $report->getCustomName();
$automatedReport = $this->automatedReportsRepository->update($report, $validatedData);
if ($oldCustomName !== $automatedReport->getCustomName()) {
$this->updateResultNames($automatedReport);
}
$this->generateOneOffReport($automatedReport);
return $this->transformReportFullView($automatedReport);
}
/**
* Create an Ask Jiminny report.
*/
public function createAskJiminnyReport(array $data, User $creator): array
{
$validatedData = $this->validateAskJiminnyReportData($data, $creator);
$validatedData['created_by'] = $creator->getId();
$automatedReport = $this->automatedReportsRepository->create($validatedData);
return $this->transformReportFullView($automatedReport);
}
/**
* Update an Ask Jiminny report.
*/
public function updateAskJiminnyReport(AutomatedReport $report, array $data, User $user): array
{
if (! $report->isAskJiminnyReport()) {
throw new InvalidArgumentException('Report is not an Ask Jiminny report');
}
$validatedData = $this->validateAskJiminnyReportData($data, $user);
$oldCustomName = $report->getCustomName();
$automatedReport = $this->automatedReportsRepository->update($report, $validatedData);
if ($oldCustomName !== $automatedReport->getCustomName()) {
$this->updateResultNames($automatedReport);
}
return $this->transformReportFullView($automatedReport);
}
public function updateAskJiminnyReportStatus(AutomatedReport $report, bool $status): array
{
$this->automatedReportsRepository->update($report, ['status' => $status]);
return $this->transformReportFullView($report->fresh());
}
/**
* Validate and transform data for Ask Jiminny reports.
*/
private function validateAskJiminnyReportData(array $data, User $user): array
{
// Validate name
$name = trim($data['report_name'] ?? '');
if (empty($name)) {
throw new InvalidArgumentException('Report name is required');
}
if (mb_strlen($name) > 50) {
throw new InvalidArgumentException('Report name must be 50 characters or less');
}
// Validate frequency (only daily, weekly, monthly for Ask Jiminny)
$frequency = $data['frequency'] ?? null;
$askJiminnyFrequencies = [self::FREQUENCY_DAILY, self::FREQUENCY_WEEKLY, self::FREQUENCY_MONTHLY];
if (! in_array($frequency, $askJiminnyFrequencies, true)) {
throw new InvalidArgumentException('Frequency must be daily, weekly, or monthly');
}
// Validate expiration date
$expiresAt = $data['expires_on'] ?? null;
if (empty($expiresAt)) {
throw new InvalidArgumentException('Expiration date is required');
}
try {
$expiresAtDate = Carbon::parse($expiresAt);
} catch (InvalidFormatException $e) {
throw new InvalidArgumentException('Expiration date format is invalid');
}
$maxExpiration = Carbon::now()->addYear()->endOfDay();
if ($expiresAtDate->gt($maxExpiration)) {
throw new InvalidArgumentException('Expiration date cannot be more than 1 year from now');
}
if ($expiresAtDate->isPast()) {
throw new InvalidArgumentException('Expiration date cannot be in the past');
}
// Validate saved search
$activitySearchId = $data['saved_search'] ?? null;
if (empty($activitySearchId)) {
throw new InvalidArgumentException('Saved search is required');
}
$savedSearch = $this->activitySearchRepository->findByUuidAndUser($activitySearchId, $user);
if (! $savedSearch) {
throw new InvalidArgumentException('Saved search not found or does not belong to you');
}
// Validate saved prompt
$askAnythingPromptId = $data['ask_jiminny_prompt'] ?? null;
if (empty($askAnythingPromptId)) {
throw new InvalidArgumentException('Ask Jiminny prompt is required');
}
$prompt = $this->askAnythingRepository->getPromptByUuid($askAnythingPromptId);
if (! $prompt) {
throw new InvalidArgumentException('Ask Jiminny prompt not found');
}
// Validate status
$status = $data['enabled'] ?? false;
$recipientUserIds = [$user->getId()];
if (! empty($data['share_users'])) {
$sharedUserIds = $this->validateAndGetUserIdsByTeam(
$user->team,
(array) $data['share_users']
);
$recipientUserIds = array_merge($recipientUserIds, $sharedUserIds);
}
$sharedGroupIds = [];
if (! empty($data['share_teams'])) {
$sharedGroupIds = $this->validateAndGetGroupIds($user->team, (array) $data['share_teams']);
}
$recipientUserIds = array_values(array_unique($recipientUserIds));
return [
'team_id' => $user->getTeamId(),
'type' => self::TYPE_ASK_JIMINNY,
'status' => (bool) $status,
'frequency' => $frequency,
'custom_name' => $name,
'activity_search_id' => $savedSearch->getId(),
'ask_anything_prompt_id' => $prompt->getId(),
'expires_at' => $expiresAtDate->toDateString(),
'media_types' => [self::MEDIA_TYPE_PDF],
'call_types' => [],
'recipients' => ['users' => $recipientUserIds],
'groups' => $sharedGroupIds,
];
}
public static function getAskJiminnyFrequencies(): array
{
return array_map(static function ($frequency) {
return $frequency['id'];
}, self::ASK_JIMINNY_FREQUENCIES);
}
public function getAskJiminnyReportFilters(User $user): array
{
$savedSearches = $this->activitySearchRepository->findByUserOrderedByName($user)
->map(fn (Search $search) => [
'id' => $search->getUuid(),
'name' => $search->getName(),
])
->values()->all();
$prompts = collect(
$this->askAnythingPromptService->get($user, AskAnythingPromptTarget::on_demand)
)->map(fn (AskAnythingPromptDto $prompt) => [
'id' => $prompt->id,
'name' => $prompt->title,
])->values()->all();
return [
[
'id' => 'prompt',
'label' => 'Prompt',
'options' => $prompts,
],
[
'id' => 'saved_search',
'label' => 'Saved Search',
'options' => $savedSearches,
],
];
}
public function getAskJiminnyReportFormData(User $user, ?AutomatedReport $report = null): array
{
$team = $user->getTeam();
$userTimezone = $user->getTimezone();
$savedSearches = $this->activitySearchRepository->findByUserOrderedByName($user)
->map(fn (Search $search) => [
'id' => $search->getUuid(),
'name' => $search->getName(),
])
->values()->all();
$prompts = collect(
$this->askAnythingPromptService->get($user, AskAnythingPromptTarget::on_demand)
)->map(fn (AskAnythingPromptDto $prompt) => [
'id' => $prompt->id,
'name' => $prompt->title,
])->values()->all();
$teamGroups = $this->groupRepository->getAllByTeam($team)->map(fn ($group) => [
'id' => $group->getUuid(),
'name' => $group->getName(),
])->values()->all();
$shareUsers = $this->recipientsService->getRecipientsFieldData(team: $team)['options'] ?? [];
$sharedTeamsValue = [];
$sharedUsersValue = [];
if ($report) {
$sharedTeamsValue = $this->transformGroups($team, $report->getGroups());
$recipientUserIds = $report->getRecipients()['users'] ?? [];
$creatorId = $report->getAttribute('created_by');
$sharedUserIds = array_values(array_filter(
$recipientUserIds,
static fn ($id) => $id !== $creatorId
));
$sharedUsersValue = collect($sharedUserIds)
->map(fn ($id) => $this->userRepository->find((int) $id))
->filter()
->map(fn (User $u) => [
'id' => $u->getUuid(),
'name' => $u->getName(),
])
->values()
->all();
}
return [
'fields' => [
[
'id' => 'enabled',
'inputType' => InputTypeEnum::TOGGLE,
'label' => '',
'value' => $report?->getStatus() ?? false,
],
[
'id' => 'report_name',
'inputType' => InputTypeEnum::TEXT,
'label' => 'Name',
'placeholder' => 'Enter name',
'required' => true,
'validation' => ['maxLength' => 50],
'value' => $report?->getCustomName() ?? '',
],
[
'id' => 'frequency',
'inputType' => InputTypeEnum::DROPDOWN,
'label' => 'Frequency',
'required' => true,
'placeholder' => 'Select',
'options' => self::A...
|
NULL
|
|
36797
|
748
|
15
|
2026-04-16T11:00:49.248875+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-16/1776 /Users/lukas/.screenpipe/data/data/2026-04-16/1776337249248_m1.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpFV faVsco.js#1 SlackFileEditViewGoHistoryWindowHelpFV faVsco.js#11894 on JY-18909-automated-reports-ask-jiminny K vlahl• Support Daily • in 1h100% <478Thu 16 Apr 14:00:48QProject v8318› D_tests_( connect.lessV connect.vue> D dashboardD Deallnsights> C errorPages› D export-portal> O extension-installed> D Invitation> O JoinConference> D layout> D LiveCoach› D Locked> D login› D MeetingConsent› O mobile• D onboard› DJ_mocks_› D__tests_V MobileAppDownk® Onboard.lessV Onboard.vueTs useProvidersSync› D ondemand› D playback> C playlistsSettings› O shared› SoftphoneCoach› [ Svgicons› D Teaminsights> 0 composablesdirectiveshelpers› OJ localesL AutomatedReportsCommandTest~ReportController.phpTokenBuilder.phpcustom.log= laravel.log4 SF [jiminny@localhost]V connect.vue© TeamSetupController.php xpnp api.phpSendReportJob.phpOnboard.vue XA HS_local (jiminny@localhost]A console (EU]© AutomatedReportsCommand.php© AskJiminnyReportsController.php« console (PROD]A console [STAGING]© AutomatedReportsCommandTest.phpQ-discCcW1/1© AutomatedReportsSendCommand.phpTeam.php311© AutomatedReportsRepository.phpAutomatedReportsService.php379© CreateHeldActivityEvent.phpTrackProviderInstalledEvent.php492© CreateActivityLoggedEvent.php493© UserPilotActivityListener.php494© ActivityLogged.php© AutomatedReportsCallbackService.php495496• RequestGenerateAskJiminnyReportJob.php© RequestGenerateReportJob.php497© AutomatedReportResult.php© AutomatedReport.php49821167104185186187188189190191192193194195196197198199200201202203class TeamSetupController extends Control vA4 X2 A Y499public function integrationAppConnect(): JsonResponse500501->setStatusCode( code:JsonResponse: :HTTP_BAL502503504/** We keep all IntegrationApp providers as "integri505$crmProviderKey = Providers::getTranslatedCrmProvidi506507/** @var ?SocialAccount $socialAccount */508$socialAccount = $user->getSocialAccount($crmProvidr509if ($socialAccount === null) {510$this->logger->error('[IntegrationApp] Unexpecte511'team_id'=> $team->getId(),512'iapp_provider' => $realProviderKey,513'provider' => $crmProviderKey,1):514515= 516return response()->json(l517518'success' => false,519500<script>setup() {MI9AY/** BEGIN: IntegrationApp related functionality */const crmToken = ref(null);const crmConnectIntegrationApp = async function O) {const integrationApp = new IntegrationAppClient({token: crmToken.value,7);const connection = await integrationApp.integration(crmDetails.name)-openNewConnection({showPoweredBy: false,allowMultipleConnections: false,7):// if (Iconnection ll connection.connected === false) {if (Iconnection |l connection.disconnected === true) €showSnackbarError("A connection with your CRM could not be established"i):return;try {const saveRequest = await axios.post("Zapi/v1/integrationVite: Can't analyze // vite.config.js: coding assistance will ignore module resolution rules in this file. Error details: Unexpected token '??=. (today 12:48)W Windsurf Teams511:12UTF-8C 2 spaces...
|
NULL
|
9094860414205538559
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpFV faVsco.js#1 SlackFileEditViewGoHistoryWindowHelpFV faVsco.js#11894 on JY-18909-automated-reports-ask-jiminny K vlahl• Support Daily • in 1h100% <478Thu 16 Apr 14:00:48QProject v8318› D_tests_( connect.lessV connect.vue> D dashboardD Deallnsights> C errorPages› D export-portal> O extension-installed> D Invitation> O JoinConference> D layout> D LiveCoach› D Locked> D login› D MeetingConsent› O mobile• D onboard› DJ_mocks_› D__tests_V MobileAppDownk® Onboard.lessV Onboard.vueTs useProvidersSync› D ondemand› D playback> C playlistsSettings› O shared› SoftphoneCoach› [ Svgicons› D Teaminsights> 0 composablesdirectiveshelpers› OJ localesL AutomatedReportsCommandTest~ReportController.phpTokenBuilder.phpcustom.log= laravel.log4 SF [jiminny@localhost]V connect.vue© TeamSetupController.php xpnp api.phpSendReportJob.phpOnboard.vue XA HS_local (jiminny@localhost]A console (EU]© AutomatedReportsCommand.php© AskJiminnyReportsController.php« console (PROD]A console [STAGING]© AutomatedReportsCommandTest.phpQ-discCcW1/1© AutomatedReportsSendCommand.phpTeam.php311© AutomatedReportsRepository.phpAutomatedReportsService.php379© CreateHeldActivityEvent.phpTrackProviderInstalledEvent.php492© CreateActivityLoggedEvent.php493© UserPilotActivityListener.php494© ActivityLogged.php© AutomatedReportsCallbackService.php495496• RequestGenerateAskJiminnyReportJob.php© RequestGenerateReportJob.php497© AutomatedReportResult.php© AutomatedReport.php49821167104185186187188189190191192193194195196197198199200201202203class TeamSetupController extends Control vA4 X2 A Y499public function integrationAppConnect(): JsonResponse500501->setStatusCode( code:JsonResponse: :HTTP_BAL502503504/** We keep all IntegrationApp providers as "integri505$crmProviderKey = Providers::getTranslatedCrmProvidi506507/** @var ?SocialAccount $socialAccount */508$socialAccount = $user->getSocialAccount($crmProvidr509if ($socialAccount === null) {510$this->logger->error('[IntegrationApp] Unexpecte511'team_id'=> $team->getId(),512'iapp_provider' => $realProviderKey,513'provider' => $crmProviderKey,1):514515= 516return response()->json(l517518'success' => false,519500<script>setup() {MI9AY/** BEGIN: IntegrationApp related functionality */const crmToken = ref(null);const crmConnectIntegrationApp = async function O) {const integrationApp = new IntegrationAppClient({token: crmToken.value,7);const connection = await integrationApp.integration(crmDetails.name)-openNewConnection({showPoweredBy: false,allowMultipleConnections: false,7):// if (Iconnection ll connection.connected === false) {if (Iconnection |l connection.disconnected === true) €showSnackbarError("A connection with your CRM could not be established"i):return;try {const saveRequest = await axios.post("Zapi/v1/integrationVite: Can't analyze // vite.config.js: coding assistance will ignore module resolution rules in this file. Error details: Unexpected token '??=. (today 12:48)W Windsurf Teams511:12UTF-8C 2 spaces...
|
36795
|
|
34904
|
713
|
6
|
2026-04-16T09:25:13.429390+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-16/1776 /Users/lukas/.screenpipe/data/data/2026-04-16/1776331513429_m2.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorFV PhpStormFileEditViewNavigateCodeLaravelRefactorFV faVsco.s v#11894 on JY-18909-automated-reports-ask-iminny kToolsWindowHelpProject vpip aruisahO composer.jsonO composer.lock0 dependency-checker.jsonO dev.json=ids.txtE infection.json.distM+INS ALL.mdM- INIEKNALWEOROOKSEIUPjiminny_storageM+ lIcenses.moM MakefileO package-lock.json= phpstan.neon.distEphpstan-baseline.neon< phpunit.xmlTeraw_sql_query.sqlM-R-ADME. molộ sonar-project.properties= test.py<> Untitled Diagram.xmlus vetur.config.isM+ WEBHOOK_FILTERING_IMPLE> th External LibrariesE® Scratches and Consoles~ D Database ConsolesA console [EU]A DEAL RISKS [EU]&D|1=U42UFU1v & minnvo ocanostc consoe minnvoocal4 DI [jiminny@localhost]A HS_local [jiminny@local4 SF [jiminny@localhost]A zoho_dev [jiminny@locaV A PRODservices+,o, c|v M Databaseci consoe s124 ms& minnvo ocalnost4 SF 560 msA HS_localV A PRODA console 10 sV L STAGING4, console 2 s 670 msDocker© ReportController.phpC TokenBuilder.php© TeamSetupController.php xphp api.php© SendReportJob.phpC AutomatedReportsCommand.phpAskJiminnykeporscontroller.ono© AutomatedReportsCommandTest.php© AutomatedReportsSendCommand.php© AutomatedReportsService.phpC CreateActivityLoggedEvent.php© Team.php© CreateHeldActivityEvent.php© AutomatedReportsRepository.php© TrackProviderInstalledEvent.phpActivityLoagea.onpAutomatedRenortscallbackservice.onv© RequestGenerateAskJiminnyReportJob.php© AutomatedReportResult.php(C AutomatedReport.phpclass TeamSetupController extends Controllerpublic function integrationAppConnect(): JsonResponse->setStatusCode( code: JsonResponse: :HTTP_FAILED_DEPENDENCY);RequestGenerateReportJob.phpA4 ×2 ^$socialAccount→>setAttribute('state', SocialAccount: :STATE_CONNECTED);SsocialAccount->saveO:214$this->logger->info('[IntegrationApp] Social account is connected.', ['team_id' => $team->getId(),'iapR_provider' => $realProviderKey,'provider'=> $crmProviderKey,'state' →> SocialAccount::STATE_CONNECTED,1);$this->eventDispatcher->dispatch(new SocialAccountConnected($socialAccount));return response()->json(I'success' => true.'message"=> sprintf(romidt os ts successrully connectedProviders::getIntegrationAppProviderLabel($realProviderKey)227228229->setStatusCode( code: JsonResponse: :HTTP_ACCEPTED) :Outputf jiminny.teams1rowTx: AutoQ G04ФF iduuid (UUID with time-low and time-high swapped)[ owner_idstatus3143<null>active1ece66c8-feb1-4df1-b321-21607daf4623o-e parcher-10! nameslugI photo_pathIn transparent photo pathI conference_photo_path• stripe_id& crm_ido detaulr olavoook 10lest Nikolay Accounttest-nikolay-accountSnULl>shuLl<null><null>500shuLl20 ms, fetching: 474 ms)E custom.logA console [PROD]A HS_local [jiminny@localhost]161163165176179180181182183184185186187188M189= laravel.logSF ljiminny@localhost]A console [STAGING]Ix. AUtOvHaycround vSELECT * FROMted_report_results order by id desc;select * from activity_searches where user_id = 143;select * from ask_anything_prompts;SELECT * FROM groups WHERE id = 1439;SELECT * FROM users WHERE group_id = 1439;select * tron permusstons. # 150select x troi roles.select * from permission_role.select * from teams where id = 1;select * from groups g JOIN playbooks p 1..n<-›1: on g.playbook_id = p.id where g.team_id = 1;select * fromgroups where id = 28;select * from playbooks where team_id = 1;select * from playbooks where id = 179;select * from playbook_categories where id = 1391;select * trom users where 10 = 145;select * from crm_profiles where user_id = 143;select * fromactivities where crm confiquration id = 39 and tvoe = 'conference'and crm_provider_id IS NOT NULL ORDER by id desc;select * from activities where id = 422003; # 00U0400000pB6fpMACSELECT ar.ig, ar.uuid, ar.mediantype, ar.status, a.txReFROM automated_report_results arJOIN automated_reports a ON a.ig = ar.repont.idWHERE a.type = 'ask_liminnx'LIMIT 10;select * from teams where id IN (3143);select * from cri_conffgurations where id = 3143;select * from teams where id = 500;, 0half Support Daily • in 2h 35 mAAutomatedReportsCommandTest-100% 145Thu 16 Apr 12:25:13Al console [EU]CascadeIntegration App ConneOur DB ( social_accounts table)Ma lminny v09 A12 X2 X4 ^state = full-refresh — thinks it'swWhy the connect. vue Page Is ShownValidateCrmConnectionRequiredTrait.php:40-43D phpif ($user->isCrmRequired()Sã (ScrmAccount === null || $crmAccount->isDisconnected())return true - redireccs to/ connect pageuur Do savs • sconneced→user s sentto connect oaoe even tnouonIntegration App already has a working connection.What Needs to HappenThe fix is that integrationAppConnect should be called without requiringthe user to click the button again, since the connection is already active onnecrauon Aoo's sioe.The frontend currently only calls POST /api/v1/integration-app-connectafter openNewConnection() resolves with disconnected: false. But since theconnection alreadv exists, openNewconnection either• Shows the modal unnecessarily, or• Pacalvac immediatelv cinca the connection eyictene rontrxs' on the connect oade, ve ore Showino the ouiton, check connection.connected = true in the existing SDK response and auto-call POST /api/v1/integration-app-connect directly - skipping the modal entirely.The SDK already gives you this info in the initial GET integrations/zohocrmresponse.C1l -Ask anything (884L)+ <> CodeClaude Sonnet 4.6CSVW Windsurf Teams189:17UTF-84 spaces...
|
NULL
|
9094519069191602544
|
NULL
|
click
|
ocr
|
NULL
|
PhpStormFileEditViewNavigateCodeLaravelRefactorFV PhpStormFileEditViewNavigateCodeLaravelRefactorFV faVsco.s v#11894 on JY-18909-automated-reports-ask-iminny kToolsWindowHelpProject vpip aruisahO composer.jsonO composer.lock0 dependency-checker.jsonO dev.json=ids.txtE infection.json.distM+INS ALL.mdM- INIEKNALWEOROOKSEIUPjiminny_storageM+ lIcenses.moM MakefileO package-lock.json= phpstan.neon.distEphpstan-baseline.neon< phpunit.xmlTeraw_sql_query.sqlM-R-ADME. molộ sonar-project.properties= test.py<> Untitled Diagram.xmlus vetur.config.isM+ WEBHOOK_FILTERING_IMPLE> th External LibrariesE® Scratches and Consoles~ D Database ConsolesA console [EU]A DEAL RISKS [EU]&D|1=U42UFU1v & minnvo ocanostc consoe minnvoocal4 DI [jiminny@localhost]A HS_local [jiminny@local4 SF [jiminny@localhost]A zoho_dev [jiminny@locaV A PRODservices+,o, c|v M Databaseci consoe s124 ms& minnvo ocalnost4 SF 560 msA HS_localV A PRODA console 10 sV L STAGING4, console 2 s 670 msDocker© ReportController.phpC TokenBuilder.php© TeamSetupController.php xphp api.php© SendReportJob.phpC AutomatedReportsCommand.phpAskJiminnykeporscontroller.ono© AutomatedReportsCommandTest.php© AutomatedReportsSendCommand.php© AutomatedReportsService.phpC CreateActivityLoggedEvent.php© Team.php© CreateHeldActivityEvent.php© AutomatedReportsRepository.php© TrackProviderInstalledEvent.phpActivityLoagea.onpAutomatedRenortscallbackservice.onv© RequestGenerateAskJiminnyReportJob.php© AutomatedReportResult.php(C AutomatedReport.phpclass TeamSetupController extends Controllerpublic function integrationAppConnect(): JsonResponse->setStatusCode( code: JsonResponse: :HTTP_FAILED_DEPENDENCY);RequestGenerateReportJob.phpA4 ×2 ^$socialAccount→>setAttribute('state', SocialAccount: :STATE_CONNECTED);SsocialAccount->saveO:214$this->logger->info('[IntegrationApp] Social account is connected.', ['team_id' => $team->getId(),'iapR_provider' => $realProviderKey,'provider'=> $crmProviderKey,'state' →> SocialAccount::STATE_CONNECTED,1);$this->eventDispatcher->dispatch(new SocialAccountConnected($socialAccount));return response()->json(I'success' => true.'message"=> sprintf(romidt os ts successrully connectedProviders::getIntegrationAppProviderLabel($realProviderKey)227228229->setStatusCode( code: JsonResponse: :HTTP_ACCEPTED) :Outputf jiminny.teams1rowTx: AutoQ G04ФF iduuid (UUID with time-low and time-high swapped)[ owner_idstatus3143<null>active1ece66c8-feb1-4df1-b321-21607daf4623o-e parcher-10! nameslugI photo_pathIn transparent photo pathI conference_photo_path• stripe_id& crm_ido detaulr olavoook 10lest Nikolay Accounttest-nikolay-accountSnULl>shuLl<null><null>500shuLl20 ms, fetching: 474 ms)E custom.logA console [PROD]A HS_local [jiminny@localhost]161163165176179180181182183184185186187188M189= laravel.logSF ljiminny@localhost]A console [STAGING]Ix. AUtOvHaycround vSELECT * FROMted_report_results order by id desc;select * from activity_searches where user_id = 143;select * from ask_anything_prompts;SELECT * FROM groups WHERE id = 1439;SELECT * FROM users WHERE group_id = 1439;select * tron permusstons. # 150select x troi roles.select * from permission_role.select * from teams where id = 1;select * from groups g JOIN playbooks p 1..n<-›1: on g.playbook_id = p.id where g.team_id = 1;select * fromgroups where id = 28;select * from playbooks where team_id = 1;select * from playbooks where id = 179;select * from playbook_categories where id = 1391;select * trom users where 10 = 145;select * from crm_profiles where user_id = 143;select * fromactivities where crm confiquration id = 39 and tvoe = 'conference'and crm_provider_id IS NOT NULL ORDER by id desc;select * from activities where id = 422003; # 00U0400000pB6fpMACSELECT ar.ig, ar.uuid, ar.mediantype, ar.status, a.txReFROM automated_report_results arJOIN automated_reports a ON a.ig = ar.repont.idWHERE a.type = 'ask_liminnx'LIMIT 10;select * from teams where id IN (3143);select * from cri_conffgurations where id = 3143;select * from teams where id = 500;, 0half Support Daily • in 2h 35 mAAutomatedReportsCommandTest-100% 145Thu 16 Apr 12:25:13Al console [EU]CascadeIntegration App ConneOur DB ( social_accounts table)Ma lminny v09 A12 X2 X4 ^state = full-refresh — thinks it'swWhy the connect. vue Page Is ShownValidateCrmConnectionRequiredTrait.php:40-43D phpif ($user->isCrmRequired()Sã (ScrmAccount === null || $crmAccount->isDisconnected())return true - redireccs to/ connect pageuur Do savs • sconneced→user s sentto connect oaoe even tnouonIntegration App already has a working connection.What Needs to HappenThe fix is that integrationAppConnect should be called without requiringthe user to click the button again, since the connection is already active onnecrauon Aoo's sioe.The frontend currently only calls POST /api/v1/integration-app-connectafter openNewConnection() resolves with disconnected: false. But since theconnection alreadv exists, openNewconnection either• Shows the modal unnecessarily, or• Pacalvac immediatelv cinca the connection eyictene rontrxs' on the connect oade, ve ore Showino the ouiton, check connection.connected = true in the existing SDK response and auto-call POST /api/v1/integration-app-connect directly - skipping the modal entirely.The SDK already gives you this info in the initial GET integrations/zohocrmresponse.C1l -Ask anything (884L)+ <> CodeClaude Sonnet 4.6CSVW Windsurf Teams189:17UTF-84 spaces...
|
34902
|
|
77312
|
1941
|
27
|
2026-04-24T09:04:07.088933+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-24/1777 /Users/lukas/.screenpipe/data/data/2026-04-24/1777021447088_m1.jpg...
|
PhpStorm
|
faVsco.js – ReportControllerTest.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Tests\Unit\Http\Controllers\Webhook;
use Illuminate\Contracts\Bus\Dispatcher;
use Illuminate\Contracts\Events\Dispatcher as EventDispatcher;
use Illuminate\Http\Request;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Http\Controllers\Webhook\ReportController;
use Jiminny\Jobs\AutomatedReports\SendReportJob;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsCallbackService;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Mockery;
use Mockery\MockInterface;
use Psr\Log\LoggerInterface;
use Tests\TestCase;
class ReportControllerTest extends TestCase
{
private AutomatedReportsService|MockInterface $reportService;
private Dispatcher|MockInterface $dispatcher;
private LoggerInterface|MockInterface $logger;
private AutomatedReportsCallbackService|MockInterface $callbackService;
private EventDispatcher|MockInterface $eventDispatcher;
private ReportController $controller;
protected function setUp(): void
{
parent::setUp();
$this->reportService = Mockery::mock(AutomatedReportsService::class);
$this->dispatcher = Mockery::mock(Dispatcher::class);
$this->logger = Mockery::mock(LoggerInterface::class);
$this->callbackService = Mockery::mock(AutomatedReportsCallbackService::class);
$this->eventDispatcher = Mockery::mock(EventDispatcher::class);
$this->logger->shouldReceive('info'); // Allow info logs
$this->controller = new ReportController(
$this->reportService,
$this->dispatcher,
$this->logger,
$this->callbackService,
$this->eventDispatcher,
);
}
protected function tearDown(): void
{
Mockery::close();
parent::tearDown();
}
public function testReadyMethodSuccess(): void
{
$reportUuid = 'test-uuid';
$payload = ['request_id' => $reportUuid];
$request = Mockery::mock(Request::class);
$request->shouldReceive('all')->andReturn($payload);
$reportResult = Mockery::mock(AutomatedReportResult::class);
$automatedReport = Mockery::mock(AutomatedReport::class);
$this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);
$this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);
$this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);
$this->reportService->shouldReceive('findChildResult')->andReturn(null);
$this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);
$this->callbackService->shouldReceive('isSuccess')->andReturn(true);
$reportResult->shouldReceive('getReport')->andReturn($automatedReport);
$automatedReport->shouldReceive('getFrequency')->andReturn(AutomatedReportsService::FREQUENCY_ONE_OFF);
$automatedReport->shouldReceive('getUuid')->andReturn('automated-report-uuid');
$reportResult->shouldReceive('update')->once();
$this->dispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(SendReportJob::class));
$this->callbackService->shouldReceive('pushToDatadog')->once();
$this->eventDispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(AutomatedReportGenerated::class));
$response = $this->controller->ready($request);
$this->assertEquals(200, $response->getStatusCode());
$this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));
}
public function testReadyMethodWithPodcastSuccess(): void
{
$reportUuid = 'test-uuid';
$payload = ['request_id' => $reportUuid];
$request = Mockery::mock(Request::class);
$request->shouldReceive('all')->andReturn($payload);
$reportResult = Mockery::mock(AutomatedReportResult::class);
$podcastResult = Mockery::mock(AutomatedReportResult::class);
$automatedReport = Mockery::mock(AutomatedReport::class);
$podcastResult->shouldReceive('getUuid')->andReturn('podcast-uuid');
$podcastResult->shouldReceive('getStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);
$this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);
$this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);
$this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);
$this->reportService->shouldReceive('findChildResult')->andReturn($podcastResult);
$this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);
$this->callbackService->shouldReceive('getPodcastStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);
$this->callbackService->shouldReceive('isSuccess')->andReturn(true);
$reportResult->shouldReceive('getReport')->andReturn($automatedReport);
$automatedReport->shouldReceive('getFrequency')->andReturn(AutomatedReportsService::FREQUENCY_ONE_OFF);
$automatedReport->shouldReceive('getUuid')->andReturn('automated-report-uuid');
$reportResult->shouldReceive('update')->once();
$podcastResult->shouldReceive('update')->once();
$this->dispatcher->shouldReceive('dispatch')->twice();
$this->callbackService->shouldReceive('pushToDatadog')->twice();
$this->eventDispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(AutomatedReportGenerated::class));
$response = $this->controller->ready($request);
$this->assertEquals(200, $response->getStatusCode());
$this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));
}
public function testReadyMethodWithPodcastFailure(): void
{
$reportUuid = 'test-uuid';
$payload = ['request_id' => $reportUuid];
$request = Mockery::mock(Request::class);
$request->shouldReceive('all')->andReturn($payload);
$reportResult = Mockery::mock(AutomatedReportResult::class);
$podcastResult = Mockery::mock(AutomatedReportResult::class);
$podcastResult->shouldReceive('getUuid')->andReturn('podcast-uuid');
$podcastResult->shouldReceive('getStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);
$this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);
$this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);
$this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);
$this->reportService->shouldReceive('findChildResult')->andReturn($podcastResult);
$this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);
$this->callbackService->shouldReceive('getPodcastStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);
$this->callbackService->shouldReceive('isSuccess')->andReturn(false);
$reportResult->shouldReceive('update')->once();
$podcastResult->shouldReceive('update')->once();
$this->dispatcher->shouldReceive('dispatch')->never();
$this->callbackService->shouldReceive('pushToDatadog')->never();
$this->logger->shouldReceive('warning')->once();
$response = $this->controller->ready($request);
$this->assertEquals(200, $response->getStatusCode());
$this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
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-20738-debug-AJ-tracking-UP, menu","depth":5,"help_text":"Git Branch: JY-20738-debug-AJ-tracking-UP","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":"ReportControllerTest","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'ReportControllerTest'","depth":6,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'ReportControllerTest'","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":"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":"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":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.016666668,"height":0.02111111},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.025555555},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.014583333,"height":0.025555555},"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 Tests\\Unit\\Http\\Controllers\\Webhook;\n\nuse Illuminate\\Contracts\\Bus\\Dispatcher;\nuse Illuminate\\Contracts\\Events\\Dispatcher as EventDispatcher;\nuse Illuminate\\Http\\Request;\nuse Jiminny\\Events\\AutomatedReports\\AutomatedReportGenerated;\nuse Jiminny\\Http\\Controllers\\Webhook\\ReportController;\nuse Jiminny\\Jobs\\AutomatedReports\\SendReportJob;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsCallbackService;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Mockery;\nuse Mockery\\MockInterface;\nuse Psr\\Log\\LoggerInterface;\nuse Tests\\TestCase;\n\nclass ReportControllerTest extends TestCase\n{\n private AutomatedReportsService|MockInterface $reportService;\n private Dispatcher|MockInterface $dispatcher;\n private LoggerInterface|MockInterface $logger;\n private AutomatedReportsCallbackService|MockInterface $callbackService;\n private EventDispatcher|MockInterface $eventDispatcher;\n private ReportController $controller;\n\n protected function setUp(): void\n {\n parent::setUp();\n\n $this->reportService = Mockery::mock(AutomatedReportsService::class);\n $this->dispatcher = Mockery::mock(Dispatcher::class);\n $this->logger = Mockery::mock(LoggerInterface::class);\n $this->callbackService = Mockery::mock(AutomatedReportsCallbackService::class);\n $this->eventDispatcher = Mockery::mock(EventDispatcher::class);\n\n $this->logger->shouldReceive('info'); // Allow info logs\n\n $this->controller = new ReportController(\n $this->reportService,\n $this->dispatcher,\n $this->logger,\n $this->callbackService,\n $this->eventDispatcher,\n );\n }\n\n protected function tearDown(): void\n {\n Mockery::close();\n parent::tearDown();\n }\n\n public function testReadyMethodSuccess(): void\n {\n $reportUuid = 'test-uuid';\n $payload = ['request_id' => $reportUuid];\n\n $request = Mockery::mock(Request::class);\n $request->shouldReceive('all')->andReturn($payload);\n\n $reportResult = Mockery::mock(AutomatedReportResult::class);\n $automatedReport = Mockery::mock(AutomatedReport::class);\n\n $this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);\n $this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);\n $this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);\n $this->reportService->shouldReceive('findChildResult')->andReturn(null);\n $this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);\n $this->callbackService->shouldReceive('isSuccess')->andReturn(true);\n\n $reportResult->shouldReceive('getReport')->andReturn($automatedReport);\n $automatedReport->shouldReceive('getFrequency')->andReturn(AutomatedReportsService::FREQUENCY_ONE_OFF);\n $automatedReport->shouldReceive('getUuid')->andReturn('automated-report-uuid');\n\n $reportResult->shouldReceive('update')->once();\n $this->dispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(SendReportJob::class));\n $this->callbackService->shouldReceive('pushToDatadog')->once();\n $this->eventDispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(AutomatedReportGenerated::class));\n\n $response = $this->controller->ready($request);\n\n $this->assertEquals(200, $response->getStatusCode());\n $this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));\n }\n\n public function testReadyMethodWithPodcastSuccess(): void\n {\n $reportUuid = 'test-uuid';\n $payload = ['request_id' => $reportUuid];\n\n $request = Mockery::mock(Request::class);\n $request->shouldReceive('all')->andReturn($payload);\n\n $reportResult = Mockery::mock(AutomatedReportResult::class);\n $podcastResult = Mockery::mock(AutomatedReportResult::class);\n $automatedReport = Mockery::mock(AutomatedReport::class);\n\n $podcastResult->shouldReceive('getUuid')->andReturn('podcast-uuid');\n $podcastResult->shouldReceive('getStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);\n\n $this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);\n $this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);\n $this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);\n $this->reportService->shouldReceive('findChildResult')->andReturn($podcastResult);\n $this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);\n $this->callbackService->shouldReceive('getPodcastStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);\n $this->callbackService->shouldReceive('isSuccess')->andReturn(true);\n\n $reportResult->shouldReceive('getReport')->andReturn($automatedReport);\n $automatedReport->shouldReceive('getFrequency')->andReturn(AutomatedReportsService::FREQUENCY_ONE_OFF);\n $automatedReport->shouldReceive('getUuid')->andReturn('automated-report-uuid');\n\n $reportResult->shouldReceive('update')->once();\n $podcastResult->shouldReceive('update')->once();\n $this->dispatcher->shouldReceive('dispatch')->twice();\n $this->callbackService->shouldReceive('pushToDatadog')->twice();\n $this->eventDispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(AutomatedReportGenerated::class));\n\n $response = $this->controller->ready($request);\n\n $this->assertEquals(200, $response->getStatusCode());\n $this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));\n }\n\n public function testReadyMethodWithPodcastFailure(): void\n {\n $reportUuid = 'test-uuid';\n $payload = ['request_id' => $reportUuid];\n\n $request = Mockery::mock(Request::class);\n $request->shouldReceive('all')->andReturn($payload);\n\n $reportResult = Mockery::mock(AutomatedReportResult::class);\n $podcastResult = Mockery::mock(AutomatedReportResult::class);\n\n $podcastResult->shouldReceive('getUuid')->andReturn('podcast-uuid');\n $podcastResult->shouldReceive('getStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);\n\n $this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);\n $this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);\n $this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);\n $this->reportService->shouldReceive('findChildResult')->andReturn($podcastResult);\n $this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);\n $this->callbackService->shouldReceive('getPodcastStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);\n $this->callbackService->shouldReceive('isSuccess')->andReturn(false);\n\n $reportResult->shouldReceive('update')->once();\n $podcastResult->shouldReceive('update')->once();\n $this->dispatcher->shouldReceive('dispatch')->never();\n $this->callbackService->shouldReceive('pushToDatadog')->never();\n\n $this->logger->shouldReceive('warning')->once();\n\n $response = $this->controller->ready($request);\n\n $this->assertEquals(200, $response->getStatusCode());\n $this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));\n }\n}","depth":4,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Tests\\Unit\\Http\\Controllers\\Webhook;\n\nuse Illuminate\\Contracts\\Bus\\Dispatcher;\nuse Illuminate\\Contracts\\Events\\Dispatcher as EventDispatcher;\nuse Illuminate\\Http\\Request;\nuse Jiminny\\Events\\AutomatedReports\\AutomatedReportGenerated;\nuse Jiminny\\Http\\Controllers\\Webhook\\ReportController;\nuse Jiminny\\Jobs\\AutomatedReports\\SendReportJob;\nuse Jiminny\\Models\\AutomatedReport;\nuse Jiminny\\Models\\AutomatedReportResult;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsCallbackService;\nuse Jiminny\\Services\\Kiosk\\AutomatedReports\\AutomatedReportsService;\nuse Mockery;\nuse Mockery\\MockInterface;\nuse Psr\\Log\\LoggerInterface;\nuse Tests\\TestCase;\n\nclass ReportControllerTest extends TestCase\n{\n private AutomatedReportsService|MockInterface $reportService;\n private Dispatcher|MockInterface $dispatcher;\n private LoggerInterface|MockInterface $logger;\n private AutomatedReportsCallbackService|MockInterface $callbackService;\n private EventDispatcher|MockInterface $eventDispatcher;\n private ReportController $controller;\n\n protected function setUp(): void\n {\n parent::setUp();\n\n $this->reportService = Mockery::mock(AutomatedReportsService::class);\n $this->dispatcher = Mockery::mock(Dispatcher::class);\n $this->logger = Mockery::mock(LoggerInterface::class);\n $this->callbackService = Mockery::mock(AutomatedReportsCallbackService::class);\n $this->eventDispatcher = Mockery::mock(EventDispatcher::class);\n\n $this->logger->shouldReceive('info'); // Allow info logs\n\n $this->controller = new ReportController(\n $this->reportService,\n $this->dispatcher,\n $this->logger,\n $this->callbackService,\n $this->eventDispatcher,\n );\n }\n\n protected function tearDown(): void\n {\n Mockery::close();\n parent::tearDown();\n }\n\n public function testReadyMethodSuccess(): void\n {\n $reportUuid = 'test-uuid';\n $payload = ['request_id' => $reportUuid];\n\n $request = Mockery::mock(Request::class);\n $request->shouldReceive('all')->andReturn($payload);\n\n $reportResult = Mockery::mock(AutomatedReportResult::class);\n $automatedReport = Mockery::mock(AutomatedReport::class);\n\n $this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);\n $this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);\n $this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);\n $this->reportService->shouldReceive('findChildResult')->andReturn(null);\n $this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);\n $this->callbackService->shouldReceive('isSuccess')->andReturn(true);\n\n $reportResult->shouldReceive('getReport')->andReturn($automatedReport);\n $automatedReport->shouldReceive('getFrequency')->andReturn(AutomatedReportsService::FREQUENCY_ONE_OFF);\n $automatedReport->shouldReceive('getUuid')->andReturn('automated-report-uuid');\n\n $reportResult->shouldReceive('update')->once();\n $this->dispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(SendReportJob::class));\n $this->callbackService->shouldReceive('pushToDatadog')->once();\n $this->eventDispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(AutomatedReportGenerated::class));\n\n $response = $this->controller->ready($request);\n\n $this->assertEquals(200, $response->getStatusCode());\n $this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));\n }\n\n public function testReadyMethodWithPodcastSuccess(): void\n {\n $reportUuid = 'test-uuid';\n $payload = ['request_id' => $reportUuid];\n\n $request = Mockery::mock(Request::class);\n $request->shouldReceive('all')->andReturn($payload);\n\n $reportResult = Mockery::mock(AutomatedReportResult::class);\n $podcastResult = Mockery::mock(AutomatedReportResult::class);\n $automatedReport = Mockery::mock(AutomatedReport::class);\n\n $podcastResult->shouldReceive('getUuid')->andReturn('podcast-uuid');\n $podcastResult->shouldReceive('getStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);\n\n $this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);\n $this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);\n $this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);\n $this->reportService->shouldReceive('findChildResult')->andReturn($podcastResult);\n $this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);\n $this->callbackService->shouldReceive('getPodcastStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);\n $this->callbackService->shouldReceive('isSuccess')->andReturn(true);\n\n $reportResult->shouldReceive('getReport')->andReturn($automatedReport);\n $automatedReport->shouldReceive('getFrequency')->andReturn(AutomatedReportsService::FREQUENCY_ONE_OFF);\n $automatedReport->shouldReceive('getUuid')->andReturn('automated-report-uuid');\n\n $reportResult->shouldReceive('update')->once();\n $podcastResult->shouldReceive('update')->once();\n $this->dispatcher->shouldReceive('dispatch')->twice();\n $this->callbackService->shouldReceive('pushToDatadog')->twice();\n $this->eventDispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(AutomatedReportGenerated::class));\n\n $response = $this->controller->ready($request);\n\n $this->assertEquals(200, $response->getStatusCode());\n $this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));\n }\n\n public function testReadyMethodWithPodcastFailure(): void\n {\n $reportUuid = 'test-uuid';\n $payload = ['request_id' => $reportUuid];\n\n $request = Mockery::mock(Request::class);\n $request->shouldReceive('all')->andReturn($payload);\n\n $reportResult = Mockery::mock(AutomatedReportResult::class);\n $podcastResult = Mockery::mock(AutomatedReportResult::class);\n\n $podcastResult->shouldReceive('getUuid')->andReturn('podcast-uuid');\n $podcastResult->shouldReceive('getStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);\n\n $this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);\n $this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);\n $this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);\n $this->reportService->shouldReceive('findChildResult')->andReturn($podcastResult);\n $this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);\n $this->callbackService->shouldReceive('getPodcastStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);\n $this->callbackService->shouldReceive('isSuccess')->andReturn(false);\n\n $reportResult->shouldReceive('update')->once();\n $podcastResult->shouldReceive('update')->once();\n $this->dispatcher->shouldReceive('dispatch')->never();\n $this->callbackService->shouldReceive('pushToDatadog')->never();\n\n $this->logger->shouldReceive('warning')->once();\n\n $response = $this->controller->ready($request);\n\n $this->assertEquals(200, $response->getStatusCode());\n $this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));\n }\n}","role_description":"text entry area","is_enabled":true,"is_focused":true,"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":"7","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\nnamespace Jiminny\\Services\\UserPilot;\n\nuse Illuminate\\Http\\Client\\PendingRequest;\nuse Illuminate\\Support\\Facades\\Http;\nuse Jiminny\\Models\\Feature\\FeatureEnum;\nuse Jiminny\\Models\\Partner;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Models\\User;\n\nclass UserPilotClient\n{\n private const API_ENDPOINT = 'https://api.userpilot.io/v1/';\n\n private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';\n\n private function createRequest(): PendingRequest\n {\n return Http::withHeaders([\n 'X-API-Version' => '2020-09-22',\n 'Authorization' => 'Token ' . config('services.userpilot.key'),\n ]);\n }\n\n public function track(User $user, string $event, array $payload = []): void\n {\n if ($this->shouldRequest($user->getTeam()) === false) {\n return;\n }\n\n $this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [\n 'event_name' => $event,\n 'user_id' => $user->getUuid(),\n 'metadata' => $payload,\n ]);\n }\n\n public function upsertUser(User $user): void\n {\n if ($this->shouldRequest($user->getTeam()) === false) {\n return;\n }\n\n $companyMetadata = $this->getCompanyMetadata($user->getTeam());\n $companyMetadata['id'] = $user->getTeam()->getUuid();\n\n $this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [\n 'user_id' => $user->getUuid(),\n 'metadata' => [\n 'name' => $user->name,\n 'first_name' => $user->getFirstName(),\n 'position' => $user->job ? $user->job->name : null,\n 'email' => $user->getEmailAddress(),\n 'created_at' => $user->getCreatedAt()->unix(),\n 'is_admin' => $user->hasRole(User::ROLE_ADMIN),\n 'is_manager' => $user->hasRole(User::ROLE_MANAGER),\n 'is_owner' => $user->isTeamOwner(),\n 'is_insights' => $user->hasRole(User::ROLE_ANALYST),\n 'is_recorder' => $user->hasRole(User::ROLE_RECORDER),\n 'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),\n 'is_listener' => $user->hasRole(User::ROLE_LISTENER),\n 'license' => null,\n 'team' => $user->group ? $user->group->name : null,\n 'language' => $user->getLanguage(),\n 'email_sync' => $user->isSyncEmailEnabled(),\n ],\n 'company' => $companyMetadata,\n ]);\n }\n\n public function upsertCompany(Team $team): void\n {\n $this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [\n 'company_id' => $team->getUuid(),\n 'metadata' => $this->getCompanyMetadata($team),\n ]);\n }\n\n private function getCompanyMetadata(Team $team): array\n {\n return [\n 'created_at' => $team->getCreatedAt()->unix(),\n 'name' => $team->getName(),\n 'region' => config('jiminny.deploy_region'),\n 'crm' => $team->getCrmConfiguration()->getProviderName(),\n 'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),\n 'calendar' => $team->getCalendarProvider(),\n 'notification_provider' => $team->getNotificationProvider(),\n 'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),\n 'tier' => $team->getTier()?->getTitle(),\n ];\n }\n\n\n public function deleteUser(User $user): void\n {\n if ($this->shouldRequest($user->getTeam()) === false) {\n return;\n }\n\n $this->createRequest()->delete(self::API_ENDPOINT . 'users', [\n 'users' => [$user->getUuid()],\n ]);\n }\n\n public function deleteCompany(Team $team): void\n {\n if ($this->shouldRequest($team) === false) {\n return;\n }\n\n $this->createRequest()->delete(self::API_ENDPOINT . 'companies', [\n 'companies' => [$team->getUuid()],\n ]);\n }\n\n public function shouldRequest(Team $team): bool\n {\n return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;\n }\n\n}","depth":4,"value":"<?php\n\nnamespace Jiminny\\Services\\UserPilot;\n\nuse Illuminate\\Http\\Client\\PendingRequest;\nuse Illuminate\\Support\\Facades\\Http;\nuse Jiminny\\Models\\Feature\\FeatureEnum;\nuse Jiminny\\Models\\Partner;\nuse Jiminny\\Models\\Team;\nuse Jiminny\\Models\\User;\n\nclass UserPilotClient\n{\n private const API_ENDPOINT = 'https://api.userpilot.io/v1/';\n\n private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';\n\n private function createRequest(): PendingRequest\n {\n return Http::withHeaders([\n 'X-API-Version' => '2020-09-22',\n 'Authorization' => 'Token ' . config('services.userpilot.key'),\n ]);\n }\n\n public function track(User $user, string $event, array $payload = []): void\n {\n if ($this->shouldRequest($user->getTeam()) === false) {\n return;\n }\n\n $this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [\n 'event_name' => $event,\n 'user_id' => $user->getUuid(),\n 'metadata' => $payload,\n ]);\n }\n\n public function upsertUser(User $user): void\n {\n if ($this->shouldRequest($user->getTeam()) === false) {\n return;\n }\n\n $companyMetadata = $this->getCompanyMetadata($user->getTeam());\n $companyMetadata['id'] = $user->getTeam()->getUuid();\n\n $this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [\n 'user_id' => $user->getUuid(),\n 'metadata' => [\n 'name' => $user->name,\n 'first_name' => $user->getFirstName(),\n 'position' => $user->job ? $user->job->name : null,\n 'email' => $user->getEmailAddress(),\n 'created_at' => $user->getCreatedAt()->unix(),\n 'is_admin' => $user->hasRole(User::ROLE_ADMIN),\n 'is_manager' => $user->hasRole(User::ROLE_MANAGER),\n 'is_owner' => $user->isTeamOwner(),\n 'is_insights' => $user->hasRole(User::ROLE_ANALYST),\n 'is_recorder' => $user->hasRole(User::ROLE_RECORDER),\n 'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),\n 'is_listener' => $user->hasRole(User::ROLE_LISTENER),\n 'license' => null,\n 'team' => $user->group ? $user->group->name : null,\n 'language' => $user->getLanguage(),\n 'email_sync' => $user->isSyncEmailEnabled(),\n ],\n 'company' => $companyMetadata,\n ]);\n }\n\n public function upsertCompany(Team $team): void\n {\n $this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [\n 'company_id' => $team->getUuid(),\n 'metadata' => $this->getCompanyMetadata($team),\n ]);\n }\n\n private function getCompanyMetadata(Team $team): array\n {\n return [\n 'created_at' => $team->getCreatedAt()->unix(),\n 'name' => $team->getName(),\n 'region' => config('jiminny.deploy_region'),\n 'crm' => $team->getCrmConfiguration()->getProviderName(),\n 'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),\n 'calendar' => $team->getCalendarProvider(),\n 'notification_provider' => $team->getNotificationProvider(),\n 'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),\n 'tier' => $team->getTier()?->getTitle(),\n ];\n }\n\n\n public function deleteUser(User $user): void\n {\n if ($this->shouldRequest($user->getTeam()) === false) {\n return;\n }\n\n $this->createRequest()->delete(self::API_ENDPOINT . 'users', [\n 'users' => [$user->getUuid()],\n ]);\n }\n\n public function deleteCompany(Team $team): void\n {\n if ($this->shouldRequest($team) === false) {\n return;\n }\n\n $this->createRequest()->delete(self::API_ENDPOINT . 'companies', [\n 'companies' => [$team->getUuid()],\n ]);\n }\n\n public function shouldRequest(Team $team): bool\n {\n return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;\n }\n\n}","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}]...
|
9094212748837534781
|
3234730284100373485
|
click
|
accessibility
|
NULL
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Tests\Unit\Http\Controllers\Webhook;
use Illuminate\Contracts\Bus\Dispatcher;
use Illuminate\Contracts\Events\Dispatcher as EventDispatcher;
use Illuminate\Http\Request;
use Jiminny\Events\AutomatedReports\AutomatedReportGenerated;
use Jiminny\Http\Controllers\Webhook\ReportController;
use Jiminny\Jobs\AutomatedReports\SendReportJob;
use Jiminny\Models\AutomatedReport;
use Jiminny\Models\AutomatedReportResult;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsCallbackService;
use Jiminny\Services\Kiosk\AutomatedReports\AutomatedReportsService;
use Mockery;
use Mockery\MockInterface;
use Psr\Log\LoggerInterface;
use Tests\TestCase;
class ReportControllerTest extends TestCase
{
private AutomatedReportsService|MockInterface $reportService;
private Dispatcher|MockInterface $dispatcher;
private LoggerInterface|MockInterface $logger;
private AutomatedReportsCallbackService|MockInterface $callbackService;
private EventDispatcher|MockInterface $eventDispatcher;
private ReportController $controller;
protected function setUp(): void
{
parent::setUp();
$this->reportService = Mockery::mock(AutomatedReportsService::class);
$this->dispatcher = Mockery::mock(Dispatcher::class);
$this->logger = Mockery::mock(LoggerInterface::class);
$this->callbackService = Mockery::mock(AutomatedReportsCallbackService::class);
$this->eventDispatcher = Mockery::mock(EventDispatcher::class);
$this->logger->shouldReceive('info'); // Allow info logs
$this->controller = new ReportController(
$this->reportService,
$this->dispatcher,
$this->logger,
$this->callbackService,
$this->eventDispatcher,
);
}
protected function tearDown(): void
{
Mockery::close();
parent::tearDown();
}
public function testReadyMethodSuccess(): void
{
$reportUuid = 'test-uuid';
$payload = ['request_id' => $reportUuid];
$request = Mockery::mock(Request::class);
$request->shouldReceive('all')->andReturn($payload);
$reportResult = Mockery::mock(AutomatedReportResult::class);
$automatedReport = Mockery::mock(AutomatedReport::class);
$this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);
$this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);
$this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);
$this->reportService->shouldReceive('findChildResult')->andReturn(null);
$this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);
$this->callbackService->shouldReceive('isSuccess')->andReturn(true);
$reportResult->shouldReceive('getReport')->andReturn($automatedReport);
$automatedReport->shouldReceive('getFrequency')->andReturn(AutomatedReportsService::FREQUENCY_ONE_OFF);
$automatedReport->shouldReceive('getUuid')->andReturn('automated-report-uuid');
$reportResult->shouldReceive('update')->once();
$this->dispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(SendReportJob::class));
$this->callbackService->shouldReceive('pushToDatadog')->once();
$this->eventDispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(AutomatedReportGenerated::class));
$response = $this->controller->ready($request);
$this->assertEquals(200, $response->getStatusCode());
$this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));
}
public function testReadyMethodWithPodcastSuccess(): void
{
$reportUuid = 'test-uuid';
$payload = ['request_id' => $reportUuid];
$request = Mockery::mock(Request::class);
$request->shouldReceive('all')->andReturn($payload);
$reportResult = Mockery::mock(AutomatedReportResult::class);
$podcastResult = Mockery::mock(AutomatedReportResult::class);
$automatedReport = Mockery::mock(AutomatedReport::class);
$podcastResult->shouldReceive('getUuid')->andReturn('podcast-uuid');
$podcastResult->shouldReceive('getStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);
$this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);
$this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);
$this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);
$this->reportService->shouldReceive('findChildResult')->andReturn($podcastResult);
$this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);
$this->callbackService->shouldReceive('getPodcastStatus')->andReturn(AutomatedReportResult::STATUS_GENERATED);
$this->callbackService->shouldReceive('isSuccess')->andReturn(true);
$reportResult->shouldReceive('getReport')->andReturn($automatedReport);
$automatedReport->shouldReceive('getFrequency')->andReturn(AutomatedReportsService::FREQUENCY_ONE_OFF);
$automatedReport->shouldReceive('getUuid')->andReturn('automated-report-uuid');
$reportResult->shouldReceive('update')->once();
$podcastResult->shouldReceive('update')->once();
$this->dispatcher->shouldReceive('dispatch')->twice();
$this->callbackService->shouldReceive('pushToDatadog')->twice();
$this->eventDispatcher->shouldReceive('dispatch')->once()->with(Mockery::type(AutomatedReportGenerated::class));
$response = $this->controller->ready($request);
$this->assertEquals(200, $response->getStatusCode());
$this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));
}
public function testReadyMethodWithPodcastFailure(): void
{
$reportUuid = 'test-uuid';
$payload = ['request_id' => $reportUuid];
$request = Mockery::mock(Request::class);
$request->shouldReceive('all')->andReturn($payload);
$reportResult = Mockery::mock(AutomatedReportResult::class);
$podcastResult = Mockery::mock(AutomatedReportResult::class);
$podcastResult->shouldReceive('getUuid')->andReturn('podcast-uuid');
$podcastResult->shouldReceive('getStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);
$this->callbackService->shouldReceive('getResultUuid')->with($payload)->andReturn($reportUuid);
$this->reportService->shouldReceive('getReportResult')->with($reportUuid)->andReturn($reportResult);
$this->callbackService->shouldReceive('isProcessed')->with($reportResult)->andReturn(false);
$this->reportService->shouldReceive('findChildResult')->andReturn($podcastResult);
$this->callbackService->shouldReceive('getPrimaryStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);
$this->callbackService->shouldReceive('getPodcastStatus')->andReturn(AutomatedReportResult::STATUS_FAILED);
$this->callbackService->shouldReceive('isSuccess')->andReturn(false);
$reportResult->shouldReceive('update')->once();
$podcastResult->shouldReceive('update')->once();
$this->dispatcher->shouldReceive('dispatch')->never();
$this->callbackService->shouldReceive('pushToDatadog')->never();
$this->logger->shouldReceive('warning')->once();
$response = $this->controller->ready($request);
$this->assertEquals(200, $response->getStatusCode());
$this->assertEquals(['status' => 'ok'], json_decode($response->getContent(), true));
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
|
9172
|
176
|
12
|
2026-04-14T07:23:24.107327+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776151404107_m1.jpg...
|
Windsurf
|
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Favourites
jiminny
Recents
Applications
Documents
Favourites
jiminny
Recents
Applications
Documents
Desktop
Downloads
lukas
iCloud
iCloud Drive
Sync folder
Locations
DXP4800PLUS-B5F8
Eject
Network
Tags
CRM
Orange
Red
Yellow...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Favourites","depth":6,"automation_id":"xSidebarHeader","role_description":"text"},{"role":"AXStaticText","text":"jiminny","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Recents","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Applications","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Documents","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Desktop","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Downloads","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"iCloud","depth":6,"automation_id":"xSidebarHeader","role_description":"text"},{"role":"AXStaticText","text":"iCloud Drive","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Sync folder","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Locations","depth":6,"automation_id":"xSidebarHeader","role_description":"text"},{"role":"AXStaticText","text":"DXP4800PLUS-B5F8","depth":6,"role_description":"text"},{"role":"AXButton","text":"Eject","depth":6,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"Network","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Tags","depth":6,"automation_id":"xSidebarHeader","role_description":"text"},{"role":"AXStaticText","text":"CRM","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Orange","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Red","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Yellow","depth":6,"role_description":"text"}]...
|
9093202650923634959
|
3418834651548607068
|
click
|
accessibility
|
NULL
|
Favourites
jiminny
Recents
Applications
Documents
Favourites
jiminny
Recents
Applications
Documents
Desktop
Downloads
lukas
iCloud
iCloud Drive
Sync folder
Locations
DXP4800PLUS-B5F8
Eject
Network
Tags
CRM
Orange
Red
Yellow...
|
9170
|
|
75204
|
1873
|
10
|
2026-04-23T10:43:45.586872+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-23/1776 /Users/lukas/.screenpipe/data/data/2026-04-23/1776941025586_m1.jpg...
|
Slack
|
Adelina Petrova (DM) - Jiminny Inc - 2 new items - Adelina Petrova (DM) - Jiminny Inc - 2 new items - Slack...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Adelina Petrova
Galya Dimitrova
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Vasil Vasilev
Stoyan Tomov
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Stefka Stoyanova
Stoyan Tanev
Toast
Jira Cloud
Google Calendar
Messages
Messages
Add canvas
Add canvas
Files
Files
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Today at 12:39:51 PM
12:39
може ли да ми кажеш само накой евент който може да видим на планетите
Adelina Petrova
Today at 12:40:49 PM
12:40 PM
Джеймс преди е ползвал userPilotService:
Screenshot 2026-04-23 at 12.40.22.png
Toggle file
Screenshot 2026-04-23 at 12.40.22.png
Today at 12:41:05 PM
12:41
дали не трябва така да се праща?
Lukas Kovalik
Today at 12:41:15 PM
12:41 PM
да и аз го ползвам така
Today at 12:41:49 PM
12:41
ще го порверя
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Adelina Petrova
Today at 12:42:33 PM
12:42 PM
аз ще направя един репорт да вида дали ще покаже нещо
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Today at 12:43:20 PM
12:43 PM
просто искам да си сравня и тествам това коетоо идва вече от планета със това кеото направих
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Adelina Petrova
Today at 12:47:22 PM
12:47 PM
момент да видя къде беше
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 12:50:42 PM
12:50
коя планета ще ползваш
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Today at 12:51:21 PM
12:51 PM
Няма значение, която е свободна
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Adelina Petrova
Today at 1:13:01 PM
1:13 PM
не виждам да има движение по някой евент на планетите
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 1:13:47 PM
1:13
момент
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 1:14:50 PM
1:14
не, само стр се тракват
React with white_check_mark
React with eyes
React with raised_hands
Jump to date
Galya Dimitrova
Apr 20th at 10:47:45 AM
10:47 AM
Screenshot 2026-04-20 at 10.47.21.png
Toggle file
Screenshot 2026-04-20 at 10.47.21.png
Lukas Kovalik
Apr 20th at 10:56:36 AM
10:56 AM
например при Activity Logged или Shared Activity и няколко други пращаме споделен payloаd [
‘provider’ => $activity->getProvider(),
‘channel’ => $activity->getType(),
‘duration’ => $activity->getDuration(),
‘status’ => $activity->getStatus(),
‘recordingStatus’ => $activity->getRecordingState(),
‘private’ => $activity->getIsPrivate(),
‘logged’ => $activity->hasCrmProviderId(),
];
Apr 20th at 10:57:21 AM
10:57
не ги виждам в UI
Galya Dimitrova
Apr 20th at 11:03:17 AM
11:03 AM
ще пиша на съпорта им да видя как се стига до това
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Apr 20th at 11:07:43 AM
11:07
о боже, намерих го
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Apr 20th at 11:09:30 AM
11:09
мога да ползвам метаданните обаче само като правя репорти/чартове
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Apr 20th at 11:09:50 AM
11:09
но не мога да ги ползвам ако искам на база на тях да пускам определени банери
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later...
|
[{"role":"AXPopUpButton","text [{"role":"AXPopUpButton","text":"Switch workspaces… (Jiminny Inc) Has new messages","depth":14,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Home","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Home","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"DMs","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DMs","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Activity","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Activity","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"Later","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Later","depth":16,"role_description":"text"},{"role":"AXRadioButton","text":"More…","depth":14,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"role_description":"text"},{"role":"AXStaticText","text":"Unreads","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"Threads","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"Huddles","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"Drafts & sent","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"Directories","depth":21,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-x-integration-app","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"ai-team","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"c-learning-people","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"deal-insights-dev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"frontend","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"infra-changes","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"people-with-copilot-licences","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"people-with-zoom-phone-licences","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"platform-team","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Adelina Petrova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":",","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Steliyan Georgiev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tomov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Yankov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Petko Kashinski","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Nikolov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Mario Georgiev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Todor Stamatov","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Gabriela Dureva","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Stoyan Tanev","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Toast","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":23,"role_description":"text"},{"role":"AXRadioButton","text":"Messages","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXStaticText","text":"Messages","depth":19,"role_description":"text"},{"role":"AXRadioButton","text":"Add canvas","depth":18,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Add canvas","depth":20,"role_description":"text"},{"role":"AXRadioButton","text":"Files","depth":17,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Files","depth":19,"role_description":"text"},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":17,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Canvas","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":17,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":17,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":22,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Today at 12:39:51 PM","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:39","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"може ли да ми кажеш само накой евент който може да видим на планетите","depth":24,"role_description":"text"},{"role":"AXButton","text":"Adelina Petrova","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Today at 12:40:49 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:40 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Джеймс преди е ползвал userPilotService:","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Screenshot 2026-04-23 at 12.40.22.png","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"role_description":"text"},{"role":"AXButton","text":"Toggle file","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXLink","text":"Screenshot 2026-04-23 at 12.40.22.png","depth":26,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Today at 12:41:05 PM","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:41","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"дали не трябва така да се праща?","depth":24,"role_description":"text"},{"role":"AXButton","text":"Lukas Kovalik","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Today at 12:41:15 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:41 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"да и аз го ползвам така","depth":24,"role_description":"text"},{"role":"AXLink","text":"Today at 12:41:49 PM","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:41","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"ще го порверя","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Adelina Petrova","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Today at 12:42:33 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:42 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"аз ще направя един репорт да вида дали ще покаже нещо","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lukas Kovalik","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Today at 12:43:20 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:43 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"просто искам да си сравня и тествам това коетоо идва вече от планета със това кеото направих","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Adelina Petrova","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Today at 12:47:22 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:47 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"момент да видя къде беше","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Today at 12:50:42 PM","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:50","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"коя планета ще ползваш","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lukas Kovalik","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Today at 12:51:21 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"12:51 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"Няма значение, която е свободна","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Adelina Petrova","depth":23,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"role_description":"text"},{"role":"AXLink","text":"Today at 1:13:01 PM","depth":23,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1:13 PM","depth":24,"role_description":"text"},{"role":"AXStaticText","text":"не виждам да има движение по някой евент на планетите","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Today at 1:13:47 PM","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1:13","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"момент","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":25,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Today at 1:14:50 PM","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1:14","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"не, само стр се тракват","depth":24,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":25,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Jump to date","depth":23,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Galya Dimitrova","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"role_description":"text"},{"role":"AXLink","text":"Apr 20th at 10:47:45 AM","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:47 AM","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"Screenshot 2026-04-20 at 10.47.21.png","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"role_description":"text"},{"role":"AXButton","text":"Toggle file","depth":25,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXLink","text":"Screenshot 2026-04-20 at 10.47.21.png","depth":27,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Lukas Kovalik","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"role_description":"text"},{"role":"AXLink","text":"Apr 20th at 10:56:36 AM","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:56 AM","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"например при Activity Logged или Shared Activity и няколко други пращаме споделен payloаd [","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"‘provider’ => $activity->getProvider(),","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"‘channel’ => $activity->getType(),","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"‘duration’ => $activity->getDuration(),","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"‘status’ => $activity->getStatus(),","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"‘recordingStatus’ => $activity->getRecordingState(),","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"‘private’ => $activity->getIsPrivate(),","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"‘logged’ => $activity->hasCrmProviderId(),","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"];","depth":25,"role_description":"text"},{"role":"AXLink","text":"Apr 20th at 10:57:21 AM","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"10:57","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"не ги виждам в UI","depth":25,"role_description":"text"},{"role":"AXButton","text":"Galya Dimitrova","depth":24,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":24,"role_description":"text"},{"role":"AXLink","text":"Apr 20th at 11:03:17 AM","depth":24,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:03 AM","depth":25,"role_description":"text"},{"role":"AXStaticText","text":"ще пиша на съпорта им да видя как се стига до това","depth":25,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Apr 20th at 11:07:43 AM","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:07","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"о боже, намерих го","depth":25,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Apr 20th at 11:09:30 AM","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:09","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"мога да ползвам метаданните обаче само като правя репорти/чартове","depth":25,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":26,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Apr 20th at 11:09:50 AM","depth":25,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"11:09","depth":26,"role_description":"text"},{"role":"AXStaticText","text":"но не мога да ги ползвам ако искам на база на тях да пускам определени банери","depth":25,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with eyes","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"React with raised_hands","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Add reaction…","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Reply in thread","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":26,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Save for later","depth":26,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
9093183590698102505
|
-1280264939564005282
|
click
|
hybrid
|
NULL
|
Switch workspaces… (Jiminny Inc) Has new messages
Switch workspaces… (Jiminny Inc) Has new messages
Home
Home
DMs
DMs
Activity
Activity
Files
Files
Later
Later
More…
More
Unreads
Threads
Huddles
Drafts & sent
Directories
jiminny-x-integration-app
platform-inner-team
ai-chapter
ai-team
alerts
backend
c-learning-people
confusion-clinic
curiosity_lab
deal-insights-dev
engineering
frontend
general
infra-changes
jiminny-bg
people-with-copilot-licences
people-with-zoom-phone-licences
platform-team
platform-tickets
product_launches
random
releases
sofia-office
support
thank-yous
the_people_of_jiminny
Adelina Petrova
Galya Dimitrova
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Vasil Vasilev
Stoyan Tomov
Nikolay Yankov
Petko Kashinski
Aneliya Angelova
Nikolay Nikolov
Mario Georgiev
Todor Stamatov
Gabriela Dureva
Stefka Stoyanova
Stoyan Tanev
Toast
Jira Cloud
Google Calendar
Messages
Messages
Add canvas
Add canvas
Files
Files
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Today at 12:39:51 PM
12:39
може ли да ми кажеш само накой евент който може да видим на планетите
Adelina Petrova
Today at 12:40:49 PM
12:40 PM
Джеймс преди е ползвал userPilotService:
Screenshot 2026-04-23 at 12.40.22.png
Toggle file
Screenshot 2026-04-23 at 12.40.22.png
Today at 12:41:05 PM
12:41
дали не трябва така да се праща?
Lukas Kovalik
Today at 12:41:15 PM
12:41 PM
да и аз го ползвам така
Today at 12:41:49 PM
12:41
ще го порверя
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Adelina Petrova
Today at 12:42:33 PM
12:42 PM
аз ще направя един репорт да вида дали ще покаже нещо
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Today at 12:43:20 PM
12:43 PM
просто искам да си сравня и тествам това коетоо идва вече от планета със това кеото направих
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Adelina Petrova
Today at 12:47:22 PM
12:47 PM
момент да видя къде беше
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 12:50:42 PM
12:50
коя планета ще ползваш
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Lukas Kovalik
Today at 12:51:21 PM
12:51 PM
Няма значение, която е свободна
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Adelina Petrova
Today at 1:13:01 PM
1:13 PM
не виждам да има движение по някой евент на планетите
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 1:13:47 PM
1:13
момент
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Today at 1:14:50 PM
1:14
не, само стр се тракват
React with white_check_mark
React with eyes
React with raised_hands
Jump to date
Galya Dimitrova
Apr 20th at 10:47:45 AM
10:47 AM
Screenshot 2026-04-20 at 10.47.21.png
Toggle file
Screenshot 2026-04-20 at 10.47.21.png
Lukas Kovalik
Apr 20th at 10:56:36 AM
10:56 AM
например при Activity Logged или Shared Activity и няколко други пращаме споделен payloаd [
‘provider’ => $activity->getProvider(),
‘channel’ => $activity->getType(),
‘duration’ => $activity->getDuration(),
‘status’ => $activity->getStatus(),
‘recordingStatus’ => $activity->getRecordingState(),
‘private’ => $activity->getIsPrivate(),
‘logged’ => $activity->hasCrmProviderId(),
];
Apr 20th at 10:57:21 AM
10:57
не ги виждам в UI
Galya Dimitrova
Apr 20th at 11:03:17 AM
11:03 AM
ще пиша на съпорта им да видя как се стига до това
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Apr 20th at 11:07:43 AM
11:07
о боже, намерих го
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Apr 20th at 11:09:30 AM
11:09
мога да ползвам метаданните обаче само като правя репорти/чартове
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Apr 20th at 11:09:50 AM
11:09
но не мога да ги ползвам ако искам на база на тях да пускам определени банери
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp(al]# Support Daily - in 1 h 17 mБг)100% <78Thu 23 Apr 13:43:45PROD (ssh)181DOCKERDOCKER (docker-compose)181DEV (-zsh)• ₴2APP (-zsh)docker_lamp_12026-04-23 10:25:03 Running ['artisan'dialers:monitor-activities].docker_1amp_11 '/usr/local/bin/php' 'artisan' dialers:monitor-activitiesdocker_lamp_12026-04-23 10:25:04 Running ['artisan' jiminny:monitor-social-accountdocker_1amp_11 '/usr/local/bin/php' 'artisan' jiminny:monitor-social-accounts > */proc/1/fd/1'2>&1docker_lamp_12026-04-23 10:25:05 Running ['artisan' mailbox:skip-lists:refresh].1s DONEdocker_lamp_11/fd/1'1 '/usr/local/bin/php' 'artisan' mailbox:skip-lists:refresh › '/proc/2>&1docker_lamp_12026-04-23 10:25:07 Running ['artisan' mailbox:batch:process--max-batches=15]1sDONEdocker_lamp_11 '/usr/local/bin/php' 'artisan'mailbox:batch:process --max-batches=15 >*/proc/1/fd/1' 2>&1docker_lamp_112026-04-23 10:25:08 Running ['artisan' activity:purge-stale]1sDONEdocker_lamp_11 '/usr/local/bin/php' 'artisan' activity:purge-stale › '/proc/1/fd/12>&1docker_lamp_1docker_1amp_1docker_1amp_12026-04-23 10:25:09 Running ['artisan'mailbox: text-relay:sync] {"error":"invalid_request""error_description": "Invalid impersonation \u0026quot; sub\u0026quot;field:@"docker_lamp_11}docker_lamp_1docker_1amp_11s DONE'/usr/local/bin/php' 'artisan'mailbox:text-relay: sync › */proc/1/fd/1'2>&1docker_1amp_12026-04-23 10:25:11 Running ['artisan'conference:pre-meeting-notificationl1s DONEdocker_lamp_1'/proc/1/fd/1'1 '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification2>&1docker_lamp_112026-04-23 10:25:12 Running ['artisan'conference:monitor:start]2sDONEdocker_lamp_11 '/usr/local/bin/php' 'artisan'conference:monitor: start › '/proc/1/fd/1'2>&1docker_1amp_12026-04-23 10:25:15 Running ['artisan'conference:monitor:end]1s DONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan' conference:monitor:end › */proc/1/fd2>&1docker_lamp_12026-04-23 10:25:17 Running ['artisan' jiminny:fix-hubspot-tokens]2s DONEdocker_lamp_111 '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > */proc/83screenpipe"PROD (ssh)Run 'do-release-upgrade' to upgrade to it.O ₴4-zsh*** System restart required ***Last login: Wed Apr 22 12:09:092026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Thu Apr 23 12:12:54 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|X T4STAGE (-zsh)Last login: Thu Apr 23 12:12:54 on consolePoetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny$XIT5QA (-zsh)Last login: Thu Apr 23 12:13:49on ttys001Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentsX 16FE (-zsh)Last login: Thu Apr 23 12:13:49on ttys003*5PRODSTAGEPoetry could not find a pyproject.toml file in /Users/lukas or its parentsFRONTENDPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ IEXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|...
|
NULL
|
|
15305
|
342
|
43
|
2026-04-14T14:36:09.240856+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776177369240_m1.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfiles→ToolsW FirefoxFileEditViewHistoryBookmarksProfiles→ToolsWindowHelpmeet.google.com/bdj-nvho-br§ Retro - Platform • 39 m left100% <78• Tue 14 Apr 17:36:08inny.com35:1600500Aneliya AngelovaNikolay YankovPop out this videoSteliyan GeorgievNikolay IvanovLukas Kovalik5:36 PM | Retro - Platform...
|
NULL
|
9092995100820062823
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfiles→ToolsW FirefoxFileEditViewHistoryBookmarksProfiles→ToolsWindowHelpmeet.google.com/bdj-nvho-br§ Retro - Platform • 39 m left100% <78• Tue 14 Apr 17:36:08inny.com35:1600500Aneliya AngelovaNikolay YankovPop out this videoSteliyan GeorgievNikolay IvanovLukas Kovalik5:36 PM | Retro - Platform...
|
15304
|
|
59111
|
1273
|
15
|
2026-04-20T13:27:28.278084+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-20/1776 /Users/lukas/.screenpipe/data/data/2026-04-20/1776691648278_m2.jpg...
|
PhpStorm
|
PhpStorm
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormFV faVsco.jsProledey© SyncOpportunity.phpG PhostormFV faVsco.jsProledey© SyncOpportunity.phpGosyncrrotileLeaas.ongsyncrrotlleopoortunites.ongD DealRisksW clasticsearch_ GrouosMallboxw PlavlistsWebhook= .gitkeep© ChangeLogContextCorrelationid.phpIM Maillv M Modele> D ActivityD AskAnythingi CalendarM ConnectionD Contracts• CmbusinessProcess.oneconticuration.onoc) contactRole.phpc) Field.php© FieldData.phpc) FieldValue.phpc) Lavout.phpc) Lavout Entitv.oheC) Loa,oho(C) Profille,ohoC) Recordtivoe,ohoC) SvncBatch.ohvElasticSearchm SeatureM OnnortunitvM ParticinantM PlavbackThemePlavlistN Scorecardlh Wehhook(e Account nhn© [EMAIL](c) AiDromnt nhrAutomatedReportsService.phpAutomatedkeporscommand.pnp© SyncOpportunitiesJob.php©ImportOpportunityBatch.php(©)ImportContactBatch.php© Client.php(C) HubspotPaqinationService.php(C) Service.phpBatchSyncTrait.php® AutomatedReportsController.phpphp api v2.php(C) TrackProviderInstalledEvent.php(C) AutomatedReportResult.pho(C) AutomatedReport.ohoclass SyncProfile0pportunities implements ShouldQueuepublic function handte (Profilecreated Sevent): voi$this->logger->info('Syncing opportunities for the newly created profile', l'profile' => Scrmid,= Steamid.83 ^ v 574cthis-siohhicnatchen.sdicnatchlinewSvncProfileMetadataSnrofip->aetlisenonn.S$this->createDealInsightsLayoutIfDoesNotExist(ScrmConfiguration);$since = $this->configurationSettingsService->getSyncPeriod(ScrmConfiguration):if (! Sthis->configurationSettingsService->requiresSlidingWindowSearch(ScrmConfiguration)){Sthis->jobDispatcher->dispatch(new syncupporcunttlessoblScrmConfiquration->qetIdO.'crm protile 1d => scrmld.'since' => Ssince.strategy: OpportunitySyncStrategyResolver::LAST_MODIFIED_BY_PROFILE SYNC_OPPORTUNITY_STRATEGYsthis->timePerioditerator->generateUntillNowForMaxSevenDavsastartDate: SsincelonPeriod: function (Carbon $start. Carbon $end) use (ScrmConfiquration. $crmId): void {...?Tusageprivate function createDealInsightsLayoutIfDoesNotExist(Configuration ScrmConfiguration): void{...}100% S2• Mon 20 Apr 16:27:28L AskJiminnyReportActivityServiceTest v=custom.log=laravel.logA SF [jiminny@localhost]4 HS_local (iminny@localhost]CascadeA console [PROD] X A console [EU]+0..15951594$95600A console [STAGING]Retactor ConnectionCRM Initial Sync OvenTx: Autovdo jiminny vLets say I don't use webhook based opportunity sync but last modified, do we use ImportOpportunityBatch in hubspotGELECT * FROM crm profiles WHERE crm_ confiqurat: m034 A1 A34 M62 M VTnoughtsbELEcl * rkun crm conticuracions whEkE 10 = 305GELECT * FROM users WHERE id = 15440: # team. 581, qr. 15440, pl. 3911, actSELECTCONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) A:U.ema1l.Explored ImportOpportunityBatch.php and searched ImportOpportunityBatch ›AnswerNo. For non-webhook strategies like last-modified, Importopportun1tyBatch is not used.sa.*towner 1d FRol sochal accounts saFlow for last-modified syncSyncOpportunitiesJob calls Hubspot\Service:: syncOpportunities() (the OpportunitySyncTrait you just added). That method:JOIN users u on u.id = sa.sociable_idJOIN teams t 1..n<->1: on t.id = U.team id1. Resolves strategies via OpportunitySyncStrategyResolver (for last-modified you get e.g. HubspotLastModifiedSyncStrategy ).VHERE U.team_id = 581 and sa.provider = 'salesforce';2. Iterates the strategy's fetchopportunities... generator in-process, buftering up to BATCH PROCESS SIZE = 800 deals3. Calls process0pportunityBatch($buffer) → import0pportunityBatch($deals) synchronously inside the same job (OpportunitySyncTraiSELECT * FROM automated_report_results order by id desc;t.pho:249-308)No sub-iobs are disnatched. The whole strateav-driven imnort runs within the sinale Svncûnnortunitiesloh execution.select * from features;Bplect * from team fpatunos where featunp id = 40:When ImportOpportunityBatch is usedOnly on the webhook path:select * from teams where id = 556;• HubspotWebhookBatchSvncStrateay returns an empty generator (it doesn't vield deals) and instead drains Redis via WebhookSyncBatchProcessor::dispatchBatchJob() which dispatches Import0pportunityBatch::dispatch($configId, $crmProviderIds) - see WebhookSyncBatchProcessor.oho:144-156,select * fromrts where id = 54; # 4fdd41f6-dcf0-30d0-b339-734SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9select * from automated_report_results order by id desc;SELECT * FROM automated report results WHERE id = 1919:•That job then calls back into import0pportunityBatchByIds() (0pportunitySyncTrait.php:174-208), which fetches deals by ID fromHubSoot and reuses the same imoortOpportunitvBatch@ methodlShared codeBoth paths converge on importOpportunityBatch() in the trait. The difference is only how deals are obtained and where the work runs:select * from automated report results WHERE report id = 54:• Last-modified: deals come from the strategy's paginated search, processed in-line in the sync jobselect * from opportunities where id = 7594349:•Webhook: dealDs come from Redis, tetched via cbient-saet0oportunitiesßvldso, orocessed in a dispatched imoortOoportunitvBatchqueue oo with retiesbackom,GELECT * FROM teams WHERE name LIKE 1%Les%': # 711. 692. 16067 - jiminnvinteselect * from plavbooks where team id = 711: # event 226147GELECT * FROM plavbook categories WHERE plavbook id = 5515:GELECT * FROM com fields WHERE id = 226147SELECT * FROM crm Field values WHERE crm field 1d = 2261471SELECT * FROM com confiqurations WHERE 1d = 6925NELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE •• END) A$u. emailsa.*,+ownen id EROM social accounts saJOTN usens u on trid = ca.cociable idi607608JOIN teams t 1..n<->1: on t.id = u.team_idVHERE u.team_id = 711 and sa.provider = 'salesforce';SELECT * FROM crm profiles cp JOIN users u 1..n<->1: on u.id = cp.user id WHEAsk anvthina (&4-D<> GodeClaude Onus 4.7 MediumWN Windsurf Teams60-15 UTE.8Po 4 spaces...
|
NULL
|
9092859182769852632
|
NULL
|
click
|
ocr
|
NULL
|
PhostormFV faVsco.jsProledey© SyncOpportunity.phpG PhostormFV faVsco.jsProledey© SyncOpportunity.phpGosyncrrotileLeaas.ongsyncrrotlleopoortunites.ongD DealRisksW clasticsearch_ GrouosMallboxw PlavlistsWebhook= .gitkeep© ChangeLogContextCorrelationid.phpIM Maillv M Modele> D ActivityD AskAnythingi CalendarM ConnectionD Contracts• CmbusinessProcess.oneconticuration.onoc) contactRole.phpc) Field.php© FieldData.phpc) FieldValue.phpc) Lavout.phpc) Lavout Entitv.oheC) Loa,oho(C) Profille,ohoC) Recordtivoe,ohoC) SvncBatch.ohvElasticSearchm SeatureM OnnortunitvM ParticinantM PlavbackThemePlavlistN Scorecardlh Wehhook(e Account nhn© [EMAIL](c) AiDromnt nhrAutomatedReportsService.phpAutomatedkeporscommand.pnp© SyncOpportunitiesJob.php©ImportOpportunityBatch.php(©)ImportContactBatch.php© Client.php(C) HubspotPaqinationService.php(C) Service.phpBatchSyncTrait.php® AutomatedReportsController.phpphp api v2.php(C) TrackProviderInstalledEvent.php(C) AutomatedReportResult.pho(C) AutomatedReport.ohoclass SyncProfile0pportunities implements ShouldQueuepublic function handte (Profilecreated Sevent): voi$this->logger->info('Syncing opportunities for the newly created profile', l'profile' => Scrmid,= Steamid.83 ^ v 574cthis-siohhicnatchen.sdicnatchlinewSvncProfileMetadataSnrofip->aetlisenonn.S$this->createDealInsightsLayoutIfDoesNotExist(ScrmConfiguration);$since = $this->configurationSettingsService->getSyncPeriod(ScrmConfiguration):if (! Sthis->configurationSettingsService->requiresSlidingWindowSearch(ScrmConfiguration)){Sthis->jobDispatcher->dispatch(new syncupporcunttlessoblScrmConfiquration->qetIdO.'crm protile 1d => scrmld.'since' => Ssince.strategy: OpportunitySyncStrategyResolver::LAST_MODIFIED_BY_PROFILE SYNC_OPPORTUNITY_STRATEGYsthis->timePerioditerator->generateUntillNowForMaxSevenDavsastartDate: SsincelonPeriod: function (Carbon $start. Carbon $end) use (ScrmConfiquration. $crmId): void {...?Tusageprivate function createDealInsightsLayoutIfDoesNotExist(Configuration ScrmConfiguration): void{...}100% S2• Mon 20 Apr 16:27:28L AskJiminnyReportActivityServiceTest v=custom.log=laravel.logA SF [jiminny@localhost]4 HS_local (iminny@localhost]CascadeA console [PROD] X A console [EU]+0..15951594$95600A console [STAGING]Retactor ConnectionCRM Initial Sync OvenTx: Autovdo jiminny vLets say I don't use webhook based opportunity sync but last modified, do we use ImportOpportunityBatch in hubspotGELECT * FROM crm profiles WHERE crm_ confiqurat: m034 A1 A34 M62 M VTnoughtsbELEcl * rkun crm conticuracions whEkE 10 = 305GELECT * FROM users WHERE id = 15440: # team. 581, qr. 15440, pl. 3911, actSELECTCONCAT(u.id, CASE WHEN u.id = t.owner_id THEN ' (owner)' ELSE '' END) A:U.ema1l.Explored ImportOpportunityBatch.php and searched ImportOpportunityBatch ›AnswerNo. For non-webhook strategies like last-modified, Importopportun1tyBatch is not used.sa.*towner 1d FRol sochal accounts saFlow for last-modified syncSyncOpportunitiesJob calls Hubspot\Service:: syncOpportunities() (the OpportunitySyncTrait you just added). That method:JOIN users u on u.id = sa.sociable_idJOIN teams t 1..n<->1: on t.id = U.team id1. Resolves strategies via OpportunitySyncStrategyResolver (for last-modified you get e.g. HubspotLastModifiedSyncStrategy ).VHERE U.team_id = 581 and sa.provider = 'salesforce';2. Iterates the strategy's fetchopportunities... generator in-process, buftering up to BATCH PROCESS SIZE = 800 deals3. Calls process0pportunityBatch($buffer) → import0pportunityBatch($deals) synchronously inside the same job (OpportunitySyncTraiSELECT * FROM automated_report_results order by id desc;t.pho:249-308)No sub-iobs are disnatched. The whole strateav-driven imnort runs within the sinale Svncûnnortunitiesloh execution.select * from features;Bplect * from team fpatunos where featunp id = 40:When ImportOpportunityBatch is usedOnly on the webhook path:select * from teams where id = 556;• HubspotWebhookBatchSvncStrateay returns an empty generator (it doesn't vield deals) and instead drains Redis via WebhookSyncBatchProcessor::dispatchBatchJob() which dispatches Import0pportunityBatch::dispatch($configId, $crmProviderIds) - see WebhookSyncBatchProcessor.oho:144-156,select * fromrts where id = 54; # 4fdd41f6-dcf0-30d0-b339-734SELECT * FROM automated_report_results WHERE uuid_to_bin('822fa41b-afd3-43a9select * from automated_report_results order by id desc;SELECT * FROM automated report results WHERE id = 1919:•That job then calls back into import0pportunityBatchByIds() (0pportunitySyncTrait.php:174-208), which fetches deals by ID fromHubSoot and reuses the same imoortOpportunitvBatch@ methodlShared codeBoth paths converge on importOpportunityBatch() in the trait. The difference is only how deals are obtained and where the work runs:select * from automated report results WHERE report id = 54:• Last-modified: deals come from the strategy's paginated search, processed in-line in the sync jobselect * from opportunities where id = 7594349:•Webhook: dealDs come from Redis, tetched via cbient-saet0oportunitiesßvldso, orocessed in a dispatched imoortOoportunitvBatchqueue oo with retiesbackom,GELECT * FROM teams WHERE name LIKE 1%Les%': # 711. 692. 16067 - jiminnvinteselect * from plavbooks where team id = 711: # event 226147GELECT * FROM plavbook categories WHERE plavbook id = 5515:GELECT * FROM com fields WHERE id = 226147SELECT * FROM crm Field values WHERE crm field 1d = 2261471SELECT * FROM com confiqurations WHERE 1d = 6925NELECTCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE •• END) A$u. emailsa.*,+ownen id EROM social accounts saJOTN usens u on trid = ca.cociable idi607608JOIN teams t 1..n<->1: on t.id = u.team_idVHERE u.team_id = 711 and sa.provider = 'salesforce';SELECT * FROM crm profiles cp JOIN users u 1..n<->1: on u.id = cp.user id WHEAsk anvthina (&4-D<> GodeClaude Onus 4.7 MediumWN Windsurf Teams60-15 UTE.8Po 4 spaces...
|
59109
|
|
24348
|
528
|
13
|
2026-04-15T12:17:31.489611+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776255451489_m1.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+SlackFileEditViewGoHistoryWindowHelpEDHomeDMsActi +SlackFileEditViewGoHistoryWindowHelpEDHomeDMsActivityFilesLater..•More+→Search Jiminny IncJiminny ...+# general# infra-changes# jiminny-bg# platform-tickets# product launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Direct messagesStoyan TanevVes®. Galya DimitrovaAneliya Angelova, ...Vasil VasilevSteliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaD. Nikolay Nikolov2 Galya Dimitrova, Ni...ii: AppsJira CloudToastGoogle Cale...# platform-tickets8 146 0MessagesAdd canvasO FilesHubSpot -ised withMonday, April 6thPlatform ttaur anu asaigricu tu Stoyan Tomov.The Priority is P2 MediumWednesday, April 8th~Automation for Jira APP12:02 PMSRD-6775 Jiminny creates duplicate event inHubspot has been raised with Platform teamand assigned to Stoyan Tomov. The Priority isP2 MediumThursday, April 9th~Automation for Jira APP11:22 AMSRD-6779 Unable to log in to Sidekick hasbeen raised with Platform team and assigned to**. The Priority is P2 MediumAutomation for Jira APP2:32 PMSRD-6780 Jiminny Voice issue has been raisedwith Platform team and assigned to **. ThePriority is **Today ~NewAutomation for Jira APP 2:56 PMSRD-6789 [Team insights] Filter gets resetautomatically has been raised with Platformteam and assigned to **. The Priority is **Message #platform-tickets+AaActivity MonitorAll ProcessesProcess NameWindowServerFirefoxCP Isolated Web ContentFirefoxFirefoxCursorUlViewService (Not Responding)FirefoxCP Isolated Web ContentFirefox GPU HelperFirefox GPU HelperFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)Notion Helper (Renderer)claudeFirefoxCP Isolated Web ContentClaude Helper (Renderer)iTerm2FirefoxCP Isolated Web ContentCode Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentClaudeMEMORY PRESSURESprint Review • in 43 mMem...1,15 GB961,2 MB941,8 MB842,8 MB772,7 MB747,7 MB549,4 MB544,3 MB542,6 MB496,6 MB453,8 MB434,2 MB424,1 MB392,7 MB385,6 MB381,0 MB372,1 MB343,3 MB326,2 MB326,1 MB289,6 MB275,7 MB258,0 MB238,6 MB213,6 MB213,3 MB198,4 MB196,7 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% <47Wed 15 Apr 15:17:31CPUMemoryDiskNetworkThreads19257584325292724241625252626232215201328162718272459EnergyPorts19 5311247321 20019 764125244254126122199124123124127120119172313721262171 788125207127122729PID40742974801414664842420308019146733671335480418633527635831436524301636898481732654811485091035833605194878561388534048298742956049116,00 GB13,43 GB<2,54 GB2,78 GBApp Memory:Wired Memory:Compressed:User_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas4,50 GB2,40 GB5,98 GB...
|
NULL
|
9092456627621828938
|
NULL
|
visual_change
|
ocr
|
NULL
|
+SlackFileEditViewGoHistoryWindowHelpEDHomeDMsActi +SlackFileEditViewGoHistoryWindowHelpEDHomeDMsActivityFilesLater..•More+→Search Jiminny IncJiminny ...+# general# infra-changes# jiminny-bg# platform-tickets# product launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Direct messagesStoyan TanevVes®. Galya DimitrovaAneliya Angelova, ...Vasil VasilevSteliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaD. Nikolay Nikolov2 Galya Dimitrova, Ni...ii: AppsJira CloudToastGoogle Cale...# platform-tickets8 146 0MessagesAdd canvasO FilesHubSpot -ised withMonday, April 6thPlatform ttaur anu asaigricu tu Stoyan Tomov.The Priority is P2 MediumWednesday, April 8th~Automation for Jira APP12:02 PMSRD-6775 Jiminny creates duplicate event inHubspot has been raised with Platform teamand assigned to Stoyan Tomov. The Priority isP2 MediumThursday, April 9th~Automation for Jira APP11:22 AMSRD-6779 Unable to log in to Sidekick hasbeen raised with Platform team and assigned to**. The Priority is P2 MediumAutomation for Jira APP2:32 PMSRD-6780 Jiminny Voice issue has been raisedwith Platform team and assigned to **. ThePriority is **Today ~NewAutomation for Jira APP 2:56 PMSRD-6789 [Team insights] Filter gets resetautomatically has been raised with Platformteam and assigned to **. The Priority is **Message #platform-tickets+AaActivity MonitorAll ProcessesProcess NameWindowServerFirefoxCP Isolated Web ContentFirefoxFirefoxCursorUlViewService (Not Responding)FirefoxCP Isolated Web ContentFirefox GPU HelperFirefox GPU HelperFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)Notion Helper (Renderer)claudeFirefoxCP Isolated Web ContentClaude Helper (Renderer)iTerm2FirefoxCP Isolated Web ContentCode Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentClaudeMEMORY PRESSURESprint Review • in 43 mMem...1,15 GB961,2 MB941,8 MB842,8 MB772,7 MB747,7 MB549,4 MB544,3 MB542,6 MB496,6 MB453,8 MB434,2 MB424,1 MB392,7 MB385,6 MB381,0 MB372,1 MB343,3 MB326,2 MB326,1 MB289,6 MB275,7 MB258,0 MB238,6 MB213,6 MB213,3 MB198,4 MB196,7 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% <47Wed 15 Apr 15:17:31CPUMemoryDiskNetworkThreads19257584325292724241625252626232215201328162718272459EnergyPorts19 5311247321 20019 764125244254126122199124123124127120119172313721262171 788125207127122729PID40742974801414664842420308019146733671335480418633527635831436524301636898481732654811485091035833605194878561388534048298742956049116,00 GB13,43 GB<2,54 GB2,78 GBApp Memory:Wired Memory:Compressed:User_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas4,50 GB2,40 GB5,98 GB...
|
24347
|
|
74636
|
1860
|
14
|
2026-04-23T10:08:35.765052+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-23/1776 /Users/lukas/.screenpipe/data/data/2026-04-23/1776938915765_m2.jpg...
|
Firefox
|
Електронно банкиране ДСК Директ от Банка ДСК — Per Електронно банкиране ДСК Директ от Банка ДСК — Personal...
|
1
|
www.dskdirect.bg/Page/default.aspx?user_id=1130906 www.dskdirect.bg/Page/default.aspx?user_id=11309067&session_id=0973061e3efc11f19bf8005056b65de5bp2HCYiDVMhiuG0pFA3unS5zBcmpaar5u4gwYCWqs9kJwvV9AN4ruaVY3n-b-NwdnNy4C0L3jqFoKiovSC3ZYA==U&xml_id=/bg-BG/01Individuals/05Transfers/06Archive/...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (71) - [EMAIL] - Gmail
West DXP4800PLUS-B5F8
Inbox (71) - [EMAIL] - Gmail
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Today's Deals
Today's Deals
install screenpipe - screenpipe docs
install screenpipe - screenpipe docs
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude Platform
Claude Platform
rescue time detailed overview - Google Search
rescue time detailed overview - Google Search
how would I use screenpipe effectively - Google Search
how would I use screenpipe effectively - Google Search
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
LUKAS KOVALIK
1 Входяща поща
1
Входяща поща
Обратна връзка
Обратна връзка
English
English
Изход
Изход
СРЕДСТВА
СРЕДСТВА
КРЕДИТИ
КРЕДИТИ
КАРТИ
КАРТИ
БИТОВИ СМЕТКИ
БИТОВИ СМЕТКИ
ПРЕВОДИ
ПРЕВОДИ
СПЕСТЯВАНЕ
СПЕСТЯВАНЕ
ФОНДОВЕ
ФОНДОВЕ
ЗАЯВКИ
ЗАЯВКИ
ИЗВЕСТИЯ
ИЗВЕСТИЯ
СМАРТ ПРИЛОЖЕНИЯ
СМАРТ ПРИЛОЖЕНИЯ
НАСТРОЙКИ
НАСТРОЙКИ
Нов превод
Нов превод
Неизпратени
Неизпратени
Архив
Архив
PDF Авиза
PDF Авиза
Автоматични
Автоматични
Получатели
Получатели
Готови бланки
Готови бланки
Валутни курсове
Валутни курсове
Договорени курсове
Договорени курсове
Архив
Архив
Управление на бърз достъп до менюта.
Създай нов превод
Архив на операциите, наредени чрез ДСК Директ е наличен от началото на предходната календарна година. Авизо се предоставя за преводи към трети лица, изпълнени до 125 дни назад.
Канал
Тип
Банков клиент
Получател
Статус
Валута
Всички
Всички
Последните
Последните
10
Към дата
Към дата
23.04.2026
За период от
За период от
23.04.2026
до
23.04.2026
Сума от
до
Експорт към файл
Покажи
Вид: No sort applied, activate to apply an ascending sort
▲
ВИД
▼
Платец: No sort applied, activate to apply an ascending sort
▲
ПЛАТЕЦ
▼
Получател: No sort applied, activate to apply an ascending sort
▲
ПОЛУЧАТЕЛ
▼
Основание: No sort applied, activate to apply an ascending sort
▲
ОСНОВАНИЕ
▼
Сума: No sort applied, activate to apply an ascending sort
▲
СУМА
▼
Дата на изпълнение: No sort applied, activate to apply an ascending sort
▲
ДАТА НА ИЗПЪЛНЕНИЕ
▼
Статус: No sort applied, sorting is disabled
СТАТУС
SEPA
SEPA
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ Мила
[IBAN]
Даниел Ковалик Април
410.00 EUR
03.04.2026
Операцията е изпълнена
Референтен номер:
20260403029981104259
Между мои сметки
Между мои сметки
LUKAS KOVALIK
СПЕСТОВНА КОМПОНЕНТА - EUR
26627170
LUKAS KOVALIK
РАЗПЛАЩАТЕЛНА СМЕТКА - EUR
[IBAN]
Tрансфер между свои сметки
20 000.00 EUR
30.03.2026
Операцията е изпълнена
Референтен номер:
000018884
Нареждане за превод по сметка в Банка ДСК
Нареждане за превод по сметка в Банка ДСК
Създай подобен
LUKAS KOVALIK
[IBAN]
МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД
[IBAN]
Лукаш Ковалик - 22 март 2026
20.00 EUR
10.03.2026
Операцията е изпълнена
Референтен номер:
20260310029981104545
SEPA
SEPA
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ Мила
[IBAN]
Даниел Ковалик Март
410.00 EUR
27.02.2026
Операцията е изпълнена
Референтен номер:
20260227029981107871
Между мои сметки
Между мои сметки
LUKAS KOVALIK
СПЕСТОВНА КОМПОНЕНТА - EUR
26627170
LUKAS KOVALIK
РАЗПЛАЩАТЕЛНА СМЕТКА - EUR
[IBAN]
Tрансфер между свои сметки
10 000.00 EUR
13.02.2026
Операцията е изпълнена
Референтен номер:
000004826
SEPA
SEPA
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ Мила
[IBAN]
Даниел Ковалик Февруари
410.00 EUR
02.02.2026
Операцията е изпълнена
Референтен номер:
20260202029981113225
Нареждане за превод по сметка в Банка ДСК
Нареждане за превод по сметка в Банка ДСК
Създай подобен
LUKAS KOVALIK
[IBAN]
МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД
[IBAN]
Лукаш Ковалик - 18 януари 2026
20.45 EUR
13.01.2026
Операцията е изпълнена
Референтен номер:
20260113029981109131
SEPA
SEPA
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ Мила
[IBAN]
Даниел Ковалик Януари
410.00 EUR
05.01.2026
Операцията е изпълнена
Референтен номер:
20260105029981111170
Нареждане за кредитен превод
Нареждане за кредитен превод
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ МИЛА
[IBAN]
ДАНИЕЛ КОВАЛИК ДЕКЕМВРИ
800.00 BGN
02.12.2025
Операцията е изпълнена
Референтен номер:
20251202029981101654
Нареждане за кредитен превод
Нареждане за кредитен превод
Създай подобен
LUKAS KOVALIK
[IBAN]
Даниела Тодорина
[IBAN]
Адриана Ковалик - такса ноември
880.00 BGN
02.11.2025
Операцията е изпълнена
Референтен номер:
20251103029981108924
Вид: No sort applied, activate to apply an ascending sort
▲
ВИД
▼
SEPA
SEPA
Създай подобен
Между мои сметки
Между мои сметки
Нареждане за превод по сметка в Банка ДСК
Нареждане за превод по сметка в Банка ДСК
Създай подобен
SEPA
SEPA
Създай подобен
Между мои сметки
Между мои сметки
SEPA
SEPA
Създай подобен
Нареждане за превод по сметка в Банка ДСК
Нареждане за превод по сметка в Банка ДСК
Създай подобен
SEPA
SEPA
Създай подобен
Нареждане за кредитен превод
Нареждане за кредитен превод
Създай подобен
Нареждане за кредитен превод
Нареждане за кредитен превод
Създай подобен
Платец: No sort applied, activate to apply an ascending sort
▲
ПЛАТЕЦ
▼
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
СПЕСТОВНА КОМПОНЕНТА - EUR
26627170
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
СПЕСТОВНА КОМПОНЕНТА - EUR
26627170
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
Получател: No sort applied, activate to apply an ascending sort
▲
ПОЛУЧАТЕЛ
▼
ЧЦДГ Мила
[IBAN]
LUKAS KOVALIK
РАЗПЛАЩАТЕЛНА СМЕТКА - EUR
[IBAN]
МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД
[IBAN]
ЧЦДГ Мила
[IBAN]
LUKAS KOVALIK
РАЗПЛАЩАТЕЛНА СМЕТКА - EUR
[IBAN]
ЧЦДГ Мила
[IBAN]
МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД
[IBAN]
ЧЦДГ Мила
[IBAN]
ЧЦДГ МИЛА
[IBAN]
Даниела Тодорина
[IBAN]
Основание: No sort applied, activate to apply an ascending sort
▲
ОСНОВАНИЕ
▼
Даниел Ковалик Април
Tрансфер между свои сметки
Лукаш Ковалик - 22 март 2026
Даниел Ковалик Март...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"bounds":{"left":0.14478059,"top":0.0518755,"width":0.05501995,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (71) - kovaliklukas@gmail.com - Gmail","depth":4,"bounds":{"left":0.19980054,"top":0.0518755,"width":0.05501995,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":4,"bounds":{"left":0.14295213,"top":0.09497207,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":5,"bounds":{"left":0.15625,"top":0.10614525,"width":0.26263297,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Today's Deals","depth":4,"bounds":{"left":0.14295213,"top":0.12769353,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Today's Deals","depth":5,"bounds":{"left":0.15625,"top":0.13886672,"width":0.024102394,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"install screenpipe - screenpipe docs","depth":4,"bounds":{"left":0.14295213,"top":0.16041501,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"install screenpipe - screenpipe docs","depth":5,"bounds":{"left":0.15625,"top":0.17158818,"width":0.0631649,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.14295213,"top":0.19313647,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.15625,"top":0.20430966,"width":0.014960106,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.14295213,"top":0.22585794,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.15625,"top":0.23703113,"width":0.037898935,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"bounds":{"left":0.14295213,"top":0.2585794,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"bounds":{"left":0.15625,"top":0.2697526,"width":0.040724736,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"bounds":{"left":0.14295213,"top":0.29130086,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"bounds":{"left":0.15625,"top":0.30247405,"width":0.03756649,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Platform","depth":4,"bounds":{"left":0.14295213,"top":0.32402235,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Platform","depth":5,"bounds":{"left":0.15625,"top":0.33519554,"width":0.027925532,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"rescue time detailed overview - Google Search","depth":4,"bounds":{"left":0.14295213,"top":0.3567438,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"rescue time detailed overview - Google Search","depth":5,"bounds":{"left":0.15625,"top":0.367917,"width":0.08128324,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"how would I use screenpipe effectively - Google Search","depth":4,"bounds":{"left":0.14295213,"top":0.38946527,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"how would I use screenpipe effectively - Google Search","depth":5,"bounds":{"left":0.15625,"top":0.40063846,"width":0.0965758,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":4,"bounds":{"left":0.14295213,"top":0.42218676,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Електронно банкиране ДСК Директ от Банка ДСК","depth":5,"bounds":{"left":0.15625,"top":0.43335995,"width":0.09059176,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.2443484,"top":0.4293695,"width":0.007978723,"height":0.01915403},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.14577793,"top":0.45650437,"width":0.108211435,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.14577793,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.15674867,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.16788563,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.17902261,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.19015957,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"1 Входяща поща","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"1","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Входяща поща","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Обратна връзка","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Обратна връзка","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"English","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"English","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Изход","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Изход","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"СРЕДСТВА","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"СРЕДСТВА","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"КРЕДИТИ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"КРЕДИТИ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"КАРТИ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"КАРТИ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"БИТОВИ СМЕТКИ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"БИТОВИ СМЕТКИ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ПРЕВОДИ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ПРЕВОДИ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"СПЕСТЯВАНЕ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"СПЕСТЯВАНЕ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ФОНДОВЕ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ФОНДОВЕ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ЗАЯВКИ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ЗАЯВКИ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ИЗВЕСТИЯ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ИЗВЕСТИЯ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"СМАРТ ПРИЛОЖЕНИЯ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"СМАРТ ПРИЛОЖЕНИЯ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"НАСТРОЙКИ","depth":14,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"НАСТРОЙКИ","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Нов превод","depth":14,"bounds":{"left":0.43882978,"top":0.0,"width":0.03174867,"height":0.030327214},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Нов превод","depth":15,"bounds":{"left":0.44281915,"top":0.0,"width":0.023769947,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Неизпратени","depth":14,"bounds":{"left":0.47257313,"top":0.0,"width":0.03507314,"height":0.030327214},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Неизпратени","depth":15,"bounds":{"left":0.4765625,"top":0.0,"width":0.027094414,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Архив","depth":14,"bounds":{"left":0.50964093,"top":0.0,"width":0.019946808,"height":0.03431764},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Архив","depth":15,"bounds":{"left":0.51363033,"top":0.0,"width":0.011968086,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"PDF Авиза","depth":14,"bounds":{"left":0.5315825,"top":0.0,"width":0.028756648,"height":0.030327214},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"PDF Авиза","depth":15,"bounds":{"left":0.5355718,"top":0.0,"width":0.020777926,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Автоматични","depth":14,"bounds":{"left":0.56233376,"top":0.0,"width":0.03507314,"height":0.030327214},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Автоматични","depth":15,"bounds":{"left":0.56632316,"top":0.0,"width":0.027094414,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Получатели","depth":14,"bounds":{"left":0.5994016,"top":0.0,"width":0.032247342,"height":0.030327214},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Получатели","depth":15,"bounds":{"left":0.60339093,"top":0.0,"width":0.024268618,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Готови бланки","depth":14,"bounds":{"left":0.6336436,"top":0.0,"width":0.03756649,"height":0.030327214},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Готови бланки","depth":15,"bounds":{"left":0.63763297,"top":0.0,"width":0.029587766,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Валутни курсове","depth":14,"bounds":{"left":0.6732048,"top":0.0,"width":0.042386968,"height":0.030327214},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Валутни курсове","depth":15,"bounds":{"left":0.6771942,"top":0.0,"width":0.034408245,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Договорени курсове","depth":14,"bounds":{"left":0.71758646,"top":0.0,"width":0.049867023,"height":0.030327214},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Договорени курсове","depth":15,"bounds":{"left":0.7215758,"top":0.0,"width":0.041888297,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Архив","depth":12,"bounds":{"left":0.43882978,"top":0.0,"width":0.015957447,"height":0.031923383},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Архив","depth":13,"bounds":{"left":0.43882978,"top":0.002793296,"width":0.015957447,"height":0.018355945},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Управление на бърз достъп до менюта.","depth":13,"bounds":{"left":0.45478722,"top":0.0,"width":0.021276595,"height":0.031923383},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Създай нов превод","depth":12,"bounds":{"left":0.75947475,"top":0.0,"width":0.058011968,"height":0.031923383},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Архив на операциите, наредени чрез ДСК Директ е наличен от началото на предходната календарна година. Авизо се предоставя за преводи към трети лица, изпълнени до 125 дни назад.","depth":14,"bounds":{"left":0.453125,"top":0.08619314,"width":0.3430851,"height":0.032721467},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Канал","depth":15,"bounds":{"left":0.45113033,"top":0.16201118,"width":0.012466756,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Тип","depth":15,"bounds":{"left":0.45113033,"top":0.19393456,"width":0.007480053,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Банков клиент","depth":15,"bounds":{"left":0.45113033,"top":0.22585794,"width":0.03025266,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Получател","depth":15,"bounds":{"left":0.45113033,"top":0.25778133,"width":0.021775266,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Статус","depth":15,"bounds":{"left":0.45113033,"top":0.2897047,"width":0.013297873,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Валута","depth":15,"bounds":{"left":0.45113033,"top":0.3216281,"width":0.01412899,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Всички","depth":15,"bounds":{"left":0.63331115,"top":0.16360734,"width":0.004654255,"height":0.011173184},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Всички","depth":15,"bounds":{"left":0.6412899,"top":0.16201118,"width":0.014793883,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Последните","depth":15,"bounds":{"left":0.63331115,"top":0.19553073,"width":0.004654255,"height":0.011173184},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Последните","depth":15,"bounds":{"left":0.6412899,"top":0.19393456,"width":0.024601065,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"10","depth":14,"bounds":{"left":0.6732048,"top":0.18914606,"width":0.03656915,"height":0.023942538},"value":"10","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Към дата","depth":15,"bounds":{"left":0.63331115,"top":0.22745411,"width":0.004654255,"height":0.011173184},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Към дата","depth":15,"bounds":{"left":0.6412899,"top":0.22585794,"width":0.018450798,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"23.04.2026","depth":14,"bounds":{"left":0.6732048,"top":0.22106944,"width":0.03656915,"height":0.023942538},"value":"23.04.2026","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"За период от","depth":15,"bounds":{"left":0.63331115,"top":0.25937748,"width":0.004654255,"height":0.011173184},"help_text":"","role_description":"radio button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"За период от","depth":15,"bounds":{"left":0.6412899,"top":0.25778133,"width":0.02642952,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"23.04.2026","depth":14,"bounds":{"left":0.6732048,"top":0.2529928,"width":0.03656915,"height":0.023942538},"value":"23.04.2026","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"до","depth":15,"bounds":{"left":0.7124335,"top":0.25778133,"width":0.004986702,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"23.04.2026","depth":14,"bounds":{"left":0.72107714,"top":0.2529928,"width":0.03656915,"height":0.023942538},"value":"23.04.2026","help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Сума от","depth":15,"bounds":{"left":0.63331115,"top":0.2897047,"width":0.015625,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"до","depth":15,"bounds":{"left":0.7124335,"top":0.2897047,"width":0.004986702,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Експорт към файл","depth":15,"bounds":{"left":0.6755319,"top":0.367917,"width":0.05701463,"height":0.031923383},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Покажи","depth":14,"bounds":{"left":0.7375333,"top":0.367917,"width":0.03307846,"height":0.031923383},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCell","text":"Вид: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.4507979,"top":0.4365523,"width":0.05651596,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.5013298,"top":0.45530728,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ВИД","depth":18,"bounds":{"left":0.49052528,"top":0.45690343,"width":0.008477394,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.5013298,"top":0.46169195,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Платец: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.50731385,"top":0.4365523,"width":0.063663565,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.56482714,"top":0.45530728,"width":0.0028257978,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ПЛАТЕЦ","depth":18,"bounds":{"left":0.5106383,"top":0.45690343,"width":0.015791224,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.56482714,"top":0.46169195,"width":0.0028257978,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Получател: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.5709774,"top":0.4365523,"width":0.064328454,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.6291556,"top":0.45530728,"width":0.0028257978,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ПОЛУЧАТЕЛ","depth":18,"bounds":{"left":0.57430184,"top":0.45690343,"width":0.023769947,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.6291556,"top":0.46169195,"width":0.0028257978,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Основание: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.6353058,"top":0.4365523,"width":0.03656915,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.66589093,"top":0.45530728,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ОСНОВАНИЕ","depth":18,"bounds":{"left":0.63863033,"top":0.45690343,"width":0.024933511,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.66589093,"top":0.46169195,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Сума: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.671875,"top":0.4365523,"width":0.034574468,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.70046544,"top":0.45530728,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"СУМА","depth":18,"bounds":{"left":0.68733376,"top":0.45690343,"width":0.010804521,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.70046544,"top":0.46169195,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Дата на изпълнение: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.70644945,"top":0.4365523,"width":0.039727394,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.74019283,"top":0.45530728,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ДАТА НА ИЗПЪЛНЕНИЕ","depth":18,"bounds":{"left":0.70977396,"top":0.4445331,"width":0.028091755,"height":0.024740623},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.74019283,"top":0.46169195,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Статус: No sort applied, sorting is disabled","depth":16,"bounds":{"left":0.74617684,"top":0.4365523,"width":0.059674203,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"СТАТУС","depth":18,"bounds":{"left":0.74950135,"top":0.45690343,"width":0.01462766,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SEPA","depth":18,"bounds":{"left":0.49418217,"top":0.49162012,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SEPA","depth":19,"bounds":{"left":0.49418217,"top":0.49162012,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":18,"bounds":{"left":0.49867022,"top":0.5139665,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":0.49561054,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"bounds":{"left":0.5106383,"top":0.509976,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ Мила","depth":18,"bounds":{"left":0.57430184,"top":0.49561054,"width":0.022772606,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":18,"bounds":{"left":0.57430184,"top":0.509976,"width":0.053357713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Даниел Ковалик Април","depth":18,"bounds":{"left":0.63863033,"top":0.4884278,"width":0.017287234,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"410.00 EUR","depth":18,"bounds":{"left":0.68134975,"top":0.5027933,"width":0.021775266,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"03.04.2026","depth":20,"bounds":{"left":0.71110374,"top":0.5027933,"width":0.025598405,"height":0.016360734},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":0.4884278,"width":0.051529255,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":0.5027933,"width":0.040226065,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20260403029981104259","depth":20,"bounds":{"left":0.74950135,"top":0.5171588,"width":0.04920213,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Между мои сметки","depth":18,"bounds":{"left":0.4660904,"top":0.5594573,"width":0.037898935,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Между мои сметки","depth":19,"bounds":{"left":0.4660904,"top":0.5594573,"width":0.037898935,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":0.5482841,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"СПЕСТОВНА КОМПОНЕНТА - EUR","depth":18,"bounds":{"left":0.5106383,"top":0.56264967,"width":0.056349736,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26627170","depth":18,"bounds":{"left":0.5106383,"top":0.5913807,"width":0.018450798,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.57430184,"top":0.5482841,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"РАЗПЛАЩАТЕЛНА СМЕТКА - EUR","depth":18,"bounds":{"left":0.57430184,"top":0.56264967,"width":0.05518617,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"bounds":{"left":0.57430184,"top":0.5913807,"width":0.05219415,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tрансфер между свои сметки","depth":18,"bounds":{"left":0.63863033,"top":0.5554669,"width":0.023603724,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20 000.00 EUR","depth":18,"bounds":{"left":0.67586434,"top":0.5698324,"width":0.027260639,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30.03.2026","depth":20,"bounds":{"left":0.71110374,"top":0.5698324,"width":0.025598405,"height":0.016360734},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":0.5554669,"width":0.051529255,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":0.5698324,"width":0.040226065,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"000018884","depth":20,"bounds":{"left":0.74950135,"top":0.58419794,"width":0.022107713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Нареждане за превод по сметка в Банка ДСК","depth":18,"bounds":{"left":0.45362368,"top":0.62250596,"width":0.05036569,"height":0.028731046},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Нареждане за превод по сметка в Банка ДСК","depth":19,"bounds":{"left":0.45362368,"top":0.62250596,"width":0.05036569,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":18,"bounds":{"left":0.49867022,"top":0.65961695,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":0.6340782,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"bounds":{"left":0.5106383,"top":0.64844376,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД","depth":18,"bounds":{"left":0.57430184,"top":0.6268954,"width":0.047041222,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG23STSA93000031909766","depth":18,"bounds":{"left":0.57430184,"top":0.6556265,"width":0.05219415,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Лукаш Ковалик - 22 март 2026","depth":18,"bounds":{"left":0.63863033,"top":0.6268954,"width":0.025265958,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20.00 EUR","depth":18,"bounds":{"left":0.68367684,"top":0.641261,"width":0.019448139,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10.03.2026","depth":20,"bounds":{"left":0.71110374,"top":0.641261,"width":0.025598405,"height":0.016360734},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":0.6268954,"width":0.051529255,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":0.641261,"width":0.040226065,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20260310029981104545","depth":20,"bounds":{"left":0.74950135,"top":0.6556265,"width":0.04920213,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SEPA","depth":18,"bounds":{"left":0.49418217,"top":0.69393456,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SEPA","depth":19,"bounds":{"left":0.49418217,"top":0.69393456,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":18,"bounds":{"left":0.49867022,"top":0.71628094,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":0.697925,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"bounds":{"left":0.5106383,"top":0.7122905,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ Мила","depth":18,"bounds":{"left":0.57430184,"top":0.697925,"width":0.022772606,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":18,"bounds":{"left":0.57430184,"top":0.7122905,"width":0.053357713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Даниел Ковалик Март","depth":18,"bounds":{"left":0.63863033,"top":0.697925,"width":0.028590426,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"410.00 EUR","depth":18,"bounds":{"left":0.68134975,"top":0.70510775,"width":0.021775266,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"27.02.2026","depth":20,"bounds":{"left":0.71110374,"top":0.70510775,"width":0.025598405,"height":0.016360734},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":0.6907422,"width":0.051529255,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":0.70510775,"width":0.040226065,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20260227029981107871","depth":20,"bounds":{"left":0.74950135,"top":0.71947324,"width":0.04920213,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Между мои сметки","depth":18,"bounds":{"left":0.4660904,"top":0.76177174,"width":0.037898935,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Между мои сметки","depth":19,"bounds":{"left":0.4660904,"top":0.76177174,"width":0.037898935,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":0.75059855,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"СПЕСТОВНА КОМПОНЕНТА - EUR","depth":18,"bounds":{"left":0.5106383,"top":0.7649641,"width":0.056349736,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26627170","depth":18,"bounds":{"left":0.5106383,"top":0.79369515,"width":0.018450798,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.57430184,"top":0.75059855,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"РАЗПЛАЩАТЕЛНА СМЕТКА - EUR","depth":18,"bounds":{"left":0.57430184,"top":0.7649641,"width":0.05518617,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"bounds":{"left":0.57430184,"top":0.79369515,"width":0.05219415,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tрансфер между свои сметки","depth":18,"bounds":{"left":0.63863033,"top":0.7577813,"width":0.023603724,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"10 000.00 EUR","depth":18,"bounds":{"left":0.67586434,"top":0.7721468,"width":0.027260639,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13.02.2026","depth":20,"bounds":{"left":0.71110374,"top":0.7721468,"width":0.025598405,"height":0.016360734},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":0.7577813,"width":0.051529255,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":0.7721468,"width":0.040226065,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"000004826","depth":20,"bounds":{"left":0.74950135,"top":0.7865124,"width":0.022107713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SEPA","depth":18,"bounds":{"left":0.49418217,"top":0.82801276,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SEPA","depth":19,"bounds":{"left":0.49418217,"top":0.82801276,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":18,"bounds":{"left":0.49867022,"top":0.85035914,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":0.8320032,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"bounds":{"left":0.5106383,"top":0.84636873,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ Мила","depth":18,"bounds":{"left":0.57430184,"top":0.8320032,"width":0.022772606,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":18,"bounds":{"left":0.57430184,"top":0.84636873,"width":0.053357713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Даниел Ковалик Февруари","depth":18,"bounds":{"left":0.63863033,"top":0.82482046,"width":0.020279255,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"410.00 EUR","depth":18,"bounds":{"left":0.68134975,"top":0.83918595,"width":0.021775266,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"02.02.2026","depth":20,"bounds":{"left":0.71110374,"top":0.83918595,"width":0.025598405,"height":0.016360734},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":0.82482046,"width":0.051529255,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":0.83918595,"width":0.040226065,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20260202029981113225","depth":20,"bounds":{"left":0.74950135,"top":0.85355145,"width":0.04920213,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Нареждане за превод по сметка в Банка ДСК","depth":18,"bounds":{"left":0.45362368,"top":0.88467675,"width":0.05036569,"height":0.028731046},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Нареждане за превод по сметка в Банка ДСК","depth":19,"bounds":{"left":0.45362368,"top":0.88467675,"width":0.05036569,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":18,"bounds":{"left":0.49867022,"top":0.92178774,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":0.896249,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"bounds":{"left":0.5106383,"top":0.91061455,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД","depth":18,"bounds":{"left":0.57430184,"top":0.8890662,"width":0.047041222,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG23STSA93000031909766","depth":18,"bounds":{"left":0.57430184,"top":0.91779727,"width":0.05219415,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Лукаш Ковалик - 18 януари 2026","depth":18,"bounds":{"left":0.63863033,"top":0.8890662,"width":0.025265958,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20.45 EUR","depth":18,"bounds":{"left":0.68367684,"top":0.9034318,"width":0.019448139,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13.01.2026","depth":20,"bounds":{"left":0.71110374,"top":0.9034318,"width":0.025598405,"height":0.016360734},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":0.8890662,"width":0.051529255,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":0.9034318,"width":0.040226065,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20260113029981109131","depth":20,"bounds":{"left":0.74950135,"top":0.91779727,"width":0.04920213,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SEPA","depth":18,"bounds":{"left":0.49418217,"top":0.95610535,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SEPA","depth":19,"bounds":{"left":0.49418217,"top":0.95610535,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":18,"bounds":{"left":0.49867022,"top":0.9784517,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":0.96009576,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"bounds":{"left":0.5106383,"top":0.9744613,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ Мила","depth":18,"bounds":{"left":0.57430184,"top":0.96009576,"width":0.022772606,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":18,"bounds":{"left":0.57430184,"top":0.9744613,"width":0.053357713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Даниел Ковалик Януари","depth":18,"bounds":{"left":0.63863033,"top":0.952913,"width":0.017287234,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"410.00 EUR","depth":18,"bounds":{"left":0.68134975,"top":0.96727854,"width":0.021775266,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"05.01.2026","depth":20,"bounds":{"left":0.71110374,"top":0.96727854,"width":0.025598405,"height":0.016360734},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":0.952913,"width":0.051529255,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":0.96727854,"width":0.040226065,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20260105029981111170","depth":20,"bounds":{"left":0.74950135,"top":0.98164403,"width":0.04920213,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Нареждане за кредитен превод","depth":18,"bounds":{"left":0.45511967,"top":1.0,"width":0.04886968,"height":-0.0127693415},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Нареждане за кредитен превод","depth":19,"bounds":{"left":0.45511967,"top":1.0,"width":0.04886968,"height":-0.0127693415},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":18,"bounds":{"left":0.49867022,"top":1.0,"width":0.005319149,"height":-0.049880266},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":1.0,"width":0.030418882,"height":-0.024341583},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"bounds":{"left":0.5106383,"top":1.0,"width":0.05236037,"height":-0.038707137},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ МИЛА","depth":18,"bounds":{"left":0.57430184,"top":1.0,"width":0.023936171,"height":-0.024341583},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":18,"bounds":{"left":0.57430184,"top":1.0,"width":0.053357713,"height":-0.038707137},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ДАНИЕЛ КОВАЛИК ДЕКЕМВРИ","depth":18,"bounds":{"left":0.63863033,"top":1.0,"width":0.022273935,"height":-0.017158866},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"800.00 BGN","depth":18,"bounds":{"left":0.68085104,"top":1.0,"width":0.022273935,"height":-0.0315243},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"02.12.2025","depth":20,"bounds":{"left":0.71110374,"top":1.0,"width":0.025598405,"height":-0.0315243},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":1.0,"width":0.051529255,"height":-0.017158866},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":1.0,"width":0.040226065,"height":-0.0315243},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20251202029981101654","depth":20,"bounds":{"left":0.74950135,"top":1.0,"width":0.04920213,"height":-0.045889854},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Нареждане за кредитен превод","depth":18,"bounds":{"left":0.45511967,"top":1.0,"width":0.04886968,"height":-0.08100557},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Нареждане за кредитен превод","depth":19,"bounds":{"left":0.45511967,"top":1.0,"width":0.04886968,"height":-0.08100557},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":18,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":18,"bounds":{"left":0.5106383,"top":1.0,"width":0.030418882,"height":-0.092577815},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Даниела Тодорина","depth":18,"bounds":{"left":0.57430184,"top":1.0,"width":0.038397606,"height":-0.092577815},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG40UBBS81551041818116","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Адриана Ковалик - такса ноември","depth":18,"bounds":{"left":0.63863033,"top":1.0,"width":0.029920213,"height":-0.0853951},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"880.00 BGN","depth":18,"bounds":{"left":0.68085104,"top":1.0,"width":0.022273935,"height":-0.09976053},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"02.11.2025","depth":20,"bounds":{"left":0.71110374,"top":1.0,"width":0.025598405,"height":-0.09976053},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Операцията е изпълнена","depth":18,"bounds":{"left":0.74950135,"top":1.0,"width":0.051529255,"height":-0.0853951},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Референтен номер:","depth":19,"bounds":{"left":0.74950135,"top":1.0,"width":0.040226065,"height":-0.09976053},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"20251103029981108924","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Вид: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.4507979,"top":0.4365523,"width":0.05651596,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.5013298,"top":0.45530728,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ВИД","depth":18,"bounds":{"left":0.49052528,"top":0.45690343,"width":0.008477394,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.5013298,"top":0.46169195,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SEPA","depth":17,"bounds":{"left":0.49418217,"top":0.49162012,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SEPA","depth":18,"bounds":{"left":0.49418217,"top":0.49162012,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":17,"bounds":{"left":0.49867022,"top":0.5139665,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Между мои сметки","depth":17,"bounds":{"left":0.4660904,"top":0.5594573,"width":0.037898935,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Между мои сметки","depth":18,"bounds":{"left":0.4660904,"top":0.5594573,"width":0.037898935,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Нареждане за превод по сметка в Банка ДСК","depth":17,"bounds":{"left":0.45362368,"top":0.62250596,"width":0.05036569,"height":0.028731046},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Нареждане за превод по сметка в Банка ДСК","depth":18,"bounds":{"left":0.45362368,"top":0.62250596,"width":0.05036569,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":17,"bounds":{"left":0.49867022,"top":0.65961695,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"SEPA","depth":17,"bounds":{"left":0.49418217,"top":0.69393456,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SEPA","depth":18,"bounds":{"left":0.49418217,"top":0.69393456,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":17,"bounds":{"left":0.49867022,"top":0.71628094,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Между мои сметки","depth":17,"bounds":{"left":0.4660904,"top":0.76177174,"width":0.037898935,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Между мои сметки","depth":18,"bounds":{"left":0.4660904,"top":0.76177174,"width":0.037898935,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SEPA","depth":17,"bounds":{"left":0.49418217,"top":0.82801276,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SEPA","depth":18,"bounds":{"left":0.49418217,"top":0.82801276,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":17,"bounds":{"left":0.49867022,"top":0.85035914,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Нареждане за превод по сметка в Банка ДСК","depth":17,"bounds":{"left":0.45362368,"top":0.88467675,"width":0.05036569,"height":0.028731046},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Нареждане за превод по сметка в Банка ДСК","depth":18,"bounds":{"left":0.45362368,"top":0.88467675,"width":0.05036569,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":17,"bounds":{"left":0.49867022,"top":0.92178774,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"SEPA","depth":17,"bounds":{"left":0.49418217,"top":0.95610535,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SEPA","depth":18,"bounds":{"left":0.49418217,"top":0.95610535,"width":0.009807181,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":17,"bounds":{"left":0.49867022,"top":0.9784517,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Нареждане за кредитен превод","depth":17,"bounds":{"left":0.45511967,"top":1.0,"width":0.04886968,"height":-0.0127693415},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Нареждане за кредитен превод","depth":18,"bounds":{"left":0.45511967,"top":1.0,"width":0.04886968,"height":-0.0127693415},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":17,"bounds":{"left":0.49867022,"top":1.0,"width":0.005319149,"height":-0.049880266},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Нареждане за кредитен превод","depth":17,"bounds":{"left":0.45511967,"top":1.0,"width":0.04886968,"height":-0.08100557},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Нареждане за кредитен превод","depth":18,"bounds":{"left":0.45511967,"top":1.0,"width":0.04886968,"height":-0.08100557},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Създай подобен","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCell","text":"Платец: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.50731385,"top":0.4365523,"width":0.063663565,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.56482714,"top":0.45530728,"width":0.0028257978,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ПЛАТЕЦ","depth":18,"bounds":{"left":0.5106383,"top":0.45690343,"width":0.015791224,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.56482714,"top":0.46169195,"width":0.0028257978,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":0.49561054,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"bounds":{"left":0.5106383,"top":0.509976,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":0.5482841,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"СПЕСТОВНА КОМПОНЕНТА - EUR","depth":17,"bounds":{"left":0.5106383,"top":0.56264967,"width":0.056349736,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26627170","depth":17,"bounds":{"left":0.5106383,"top":0.5913807,"width":0.018450798,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":0.6340782,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"bounds":{"left":0.5106383,"top":0.64844376,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":0.697925,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"bounds":{"left":0.5106383,"top":0.7122905,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":0.75059855,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"СПЕСТОВНА КОМПОНЕНТА - EUR","depth":17,"bounds":{"left":0.5106383,"top":0.7649641,"width":0.056349736,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"26627170","depth":17,"bounds":{"left":0.5106383,"top":0.79369515,"width":0.018450798,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":0.8320032,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"bounds":{"left":0.5106383,"top":0.84636873,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":0.896249,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"bounds":{"left":0.5106383,"top":0.91061455,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":0.96009576,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"bounds":{"left":0.5106383,"top":0.9744613,"width":0.05236037,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":1.0,"width":0.030418882,"height":-0.024341583},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"bounds":{"left":0.5106383,"top":1.0,"width":0.05236037,"height":-0.038707137},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.5106383,"top":1.0,"width":0.030418882,"height":-0.092577815},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Получател: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.5709774,"top":0.4365523,"width":0.064328454,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.6291556,"top":0.45530728,"width":0.0028257978,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ПОЛУЧАТЕЛ","depth":18,"bounds":{"left":0.57430184,"top":0.45690343,"width":0.023769947,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.6291556,"top":0.46169195,"width":0.0028257978,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ Мила","depth":17,"bounds":{"left":0.57430184,"top":0.49561054,"width":0.022772606,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":17,"bounds":{"left":0.57430184,"top":0.509976,"width":0.053357713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.57430184,"top":0.5482841,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"РАЗПЛАЩАТЕЛНА СМЕТКА - EUR","depth":17,"bounds":{"left":0.57430184,"top":0.56264967,"width":0.05518617,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"bounds":{"left":0.57430184,"top":0.5913807,"width":0.05219415,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД","depth":17,"bounds":{"left":0.57430184,"top":0.6268954,"width":0.047041222,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG23STSA93000031909766","depth":17,"bounds":{"left":0.57430184,"top":0.6556265,"width":0.05219415,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ Мила","depth":17,"bounds":{"left":0.57430184,"top":0.697925,"width":0.022772606,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":17,"bounds":{"left":0.57430184,"top":0.7122905,"width":0.053357713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"LUKAS KOVALIK","depth":17,"bounds":{"left":0.57430184,"top":0.75059855,"width":0.030418882,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"РАЗПЛАЩАТЕЛНА СМЕТКА - EUR","depth":17,"bounds":{"left":0.57430184,"top":0.7649641,"width":0.05518617,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG07STSA93000026574472","depth":17,"bounds":{"left":0.57430184,"top":0.79369515,"width":0.05219415,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ Мила","depth":17,"bounds":{"left":0.57430184,"top":0.8320032,"width":0.022772606,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":17,"bounds":{"left":0.57430184,"top":0.84636873,"width":0.053357713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД","depth":17,"bounds":{"left":0.57430184,"top":0.8890662,"width":0.047041222,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG23STSA93000031909766","depth":17,"bounds":{"left":0.57430184,"top":0.91779727,"width":0.05219415,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ Мила","depth":17,"bounds":{"left":0.57430184,"top":0.96009576,"width":0.022772606,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":17,"bounds":{"left":0.57430184,"top":0.9744613,"width":0.053357713,"height":0.014365523},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ЧЦДГ МИЛА","depth":17,"bounds":{"left":0.57430184,"top":1.0,"width":0.023936171,"height":-0.024341583},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG43UBBS81551007780277","depth":17,"bounds":{"left":0.57430184,"top":1.0,"width":0.053357713,"height":-0.038707137},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Даниела Тодорина","depth":17,"bounds":{"left":0.57430184,"top":1.0,"width":0.038397606,"height":-0.092577815},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"BG40UBBS81551041818116","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCell","text":"Основание: No sort applied, activate to apply an ascending sort","depth":16,"bounds":{"left":0.6353058,"top":0.4365523,"width":0.03656915,"height":0.043894652},"help_text":"","role_description":"cell","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▲","depth":18,"bounds":{"left":0.66589093,"top":0.45530728,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"ОСНОВАНИЕ","depth":18,"bounds":{"left":0.63863033,"top":0.45690343,"width":0.024933511,"height":0.012370312},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"▼","depth":18,"bounds":{"left":0.66589093,"top":0.46169195,"width":0.0026595744,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Даниел Ковалик Април","depth":17,"bounds":{"left":0.63863033,"top":0.4884278,"width":0.017287234,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tрансфер между свои сметки","depth":17,"bounds":{"left":0.63863033,"top":0.5554669,"width":0.023603724,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Лукаш Ковалик - 22 март 2026","depth":17,"bounds":{"left":0.63863033,"top":0.6268954,"width":0.025265958,"height":0.04309657},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Даниел Ковалик Март","depth":17,"bounds":{"left":0.63863033,"top":0.697925,"width":0.028590426,"height":0.028731046},"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
9092216606387039037
|
-1608331819501690224
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (71) - [EMAIL] - Gmail
West DXP4800PLUS-B5F8
Inbox (71) - [EMAIL] - Gmail
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Today's Deals
Today's Deals
install screenpipe - screenpipe docs
install screenpipe - screenpipe docs
New Tab
New Tab
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude Platform
Claude Platform
rescue time detailed overview - Google Search
rescue time detailed overview - Google Search
how would I use screenpipe effectively - Google Search
how would I use screenpipe effectively - Google Search
Електронно банкиране ДСК Директ от Банка ДСК
Електронно банкиране ДСК Директ от Банка ДСК
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
LUKAS KOVALIK
1 Входяща поща
1
Входяща поща
Обратна връзка
Обратна връзка
English
English
Изход
Изход
СРЕДСТВА
СРЕДСТВА
КРЕДИТИ
КРЕДИТИ
КАРТИ
КАРТИ
БИТОВИ СМЕТКИ
БИТОВИ СМЕТКИ
ПРЕВОДИ
ПРЕВОДИ
СПЕСТЯВАНЕ
СПЕСТЯВАНЕ
ФОНДОВЕ
ФОНДОВЕ
ЗАЯВКИ
ЗАЯВКИ
ИЗВЕСТИЯ
ИЗВЕСТИЯ
СМАРТ ПРИЛОЖЕНИЯ
СМАРТ ПРИЛОЖЕНИЯ
НАСТРОЙКИ
НАСТРОЙКИ
Нов превод
Нов превод
Неизпратени
Неизпратени
Архив
Архив
PDF Авиза
PDF Авиза
Автоматични
Автоматични
Получатели
Получатели
Готови бланки
Готови бланки
Валутни курсове
Валутни курсове
Договорени курсове
Договорени курсове
Архив
Архив
Управление на бърз достъп до менюта.
Създай нов превод
Архив на операциите, наредени чрез ДСК Директ е наличен от началото на предходната календарна година. Авизо се предоставя за преводи към трети лица, изпълнени до 125 дни назад.
Канал
Тип
Банков клиент
Получател
Статус
Валута
Всички
Всички
Последните
Последните
10
Към дата
Към дата
23.04.2026
За период от
За период от
23.04.2026
до
23.04.2026
Сума от
до
Експорт към файл
Покажи
Вид: No sort applied, activate to apply an ascending sort
▲
ВИД
▼
Платец: No sort applied, activate to apply an ascending sort
▲
ПЛАТЕЦ
▼
Получател: No sort applied, activate to apply an ascending sort
▲
ПОЛУЧАТЕЛ
▼
Основание: No sort applied, activate to apply an ascending sort
▲
ОСНОВАНИЕ
▼
Сума: No sort applied, activate to apply an ascending sort
▲
СУМА
▼
Дата на изпълнение: No sort applied, activate to apply an ascending sort
▲
ДАТА НА ИЗПЪЛНЕНИЕ
▼
Статус: No sort applied, sorting is disabled
СТАТУС
SEPA
SEPA
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ Мила
[IBAN]
Даниел Ковалик Април
410.00 EUR
03.04.2026
Операцията е изпълнена
Референтен номер:
20260403029981104259
Между мои сметки
Между мои сметки
LUKAS KOVALIK
СПЕСТОВНА КОМПОНЕНТА - EUR
26627170
LUKAS KOVALIK
РАЗПЛАЩАТЕЛНА СМЕТКА - EUR
[IBAN]
Tрансфер между свои сметки
20 000.00 EUR
30.03.2026
Операцията е изпълнена
Референтен номер:
000018884
Нареждане за превод по сметка в Банка ДСК
Нареждане за превод по сметка в Банка ДСК
Създай подобен
LUKAS KOVALIK
[IBAN]
МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД
[IBAN]
Лукаш Ковалик - 22 март 2026
20.00 EUR
10.03.2026
Операцията е изпълнена
Референтен номер:
20260310029981104545
SEPA
SEPA
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ Мила
[IBAN]
Даниел Ковалик Март
410.00 EUR
27.02.2026
Операцията е изпълнена
Референтен номер:
20260227029981107871
Между мои сметки
Между мои сметки
LUKAS KOVALIK
СПЕСТОВНА КОМПОНЕНТА - EUR
26627170
LUKAS KOVALIK
РАЗПЛАЩАТЕЛНА СМЕТКА - EUR
[IBAN]
Tрансфер между свои сметки
10 000.00 EUR
13.02.2026
Операцията е изпълнена
Референтен номер:
000004826
SEPA
SEPA
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ Мила
[IBAN]
Даниел Ковалик Февруари
410.00 EUR
02.02.2026
Операцията е изпълнена
Референтен номер:
20260202029981113225
Нареждане за превод по сметка в Банка ДСК
Нареждане за превод по сметка в Банка ДСК
Създай подобен
LUKAS KOVALIK
[IBAN]
МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД
[IBAN]
Лукаш Ковалик - 18 януари 2026
20.45 EUR
13.01.2026
Операцията е изпълнена
Референтен номер:
20260113029981109131
SEPA
SEPA
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ Мила
[IBAN]
Даниел Ковалик Януари
410.00 EUR
05.01.2026
Операцията е изпълнена
Референтен номер:
20260105029981111170
Нареждане за кредитен превод
Нареждане за кредитен превод
Създай подобен
LUKAS KOVALIK
[IBAN]
ЧЦДГ МИЛА
[IBAN]
ДАНИЕЛ КОВАЛИК ДЕКЕМВРИ
800.00 BGN
02.12.2025
Операцията е изпълнена
Референтен номер:
20251202029981101654
Нареждане за кредитен превод
Нареждане за кредитен превод
Създай подобен
LUKAS KOVALIK
[IBAN]
Даниела Тодорина
[IBAN]
Адриана Ковалик - такса ноември
880.00 BGN
02.11.2025
Операцията е изпълнена
Референтен номер:
20251103029981108924
Вид: No sort applied, activate to apply an ascending sort
▲
ВИД
▼
SEPA
SEPA
Създай подобен
Между мои сметки
Между мои сметки
Нареждане за превод по сметка в Банка ДСК
Нареждане за превод по сметка в Банка ДСК
Създай подобен
SEPA
SEPA
Създай подобен
Между мои сметки
Между мои сметки
SEPA
SEPA
Създай подобен
Нареждане за превод по сметка в Банка ДСК
Нареждане за превод по сметка в Банка ДСК
Създай подобен
SEPA
SEPA
Създай подобен
Нареждане за кредитен превод
Нареждане за кредитен превод
Създай подобен
Нареждане за кредитен превод
Нареждане за кредитен превод
Създай подобен
Платец: No sort applied, activate to apply an ascending sort
▲
ПЛАТЕЦ
▼
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
СПЕСТОВНА КОМПОНЕНТА - EUR
26627170
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
СПЕСТОВНА КОМПОНЕНТА - EUR
26627170
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
LUKAS KOVALIK
[IBAN]
Получател: No sort applied, activate to apply an ascending sort
▲
ПОЛУЧАТЕЛ
▼
ЧЦДГ Мила
[IBAN]
LUKAS KOVALIK
РАЗПЛАЩАТЕЛНА СМЕТКА - EUR
[IBAN]
МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД
[IBAN]
ЧЦДГ Мила
[IBAN]
LUKAS KOVALIK
РАЗПЛАЩАТЕЛНА СМЕТКА - EUR
[IBAN]
ЧЦДГ Мила
[IBAN]
МЕДИЦИНСКИ ЦЕНТЪР АКВАВИТ ЕООД
[IBAN]
ЧЦДГ Мила
[IBAN]
ЧЦДГ МИЛА
[IBAN]
Даниела Тодорина
[IBAN]
Основание: No sort applied, activate to apply an ascending sort
▲
ОСНОВАНИЕ
▼
Даниел Ковалик Април
Tрансфер между свои сметки
Лукаш Ковалик - 22 март 2026
Даниел Ковалик Март...
|
NULL
|
|
16987
|
370
|
81
|
2026-04-14T15:33:55.696744+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776180835696_m2.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
11911838121244745/50TtoCastle Age40Town Center0/15 11911838121244745/50TtoCastle Age40Town Center0/159 5/7kovalfklukas (Britons)Creating 74%Villager2400/24005 Danylo Kobiakovych: 2474/24743 Mari Djata I: 2355/2355 €6 Prithviraj Chauhan: 2350/2350Yekuno Amlak: 2330/23308 Ellac the Hun: 2254/22544 Wen Tianxiang: 2120/21207 Vikramaditya I: 2115/21151 kovaliklukas: 2047/2047BBBGBEBA...
|
NULL
|
9091820353110009333
|
NULL
|
click
|
ocr
|
NULL
|
11911838121244745/50TtoCastle Age40Town Center0/15 11911838121244745/50TtoCastle Age40Town Center0/159 5/7kovalfklukas (Britons)Creating 74%Villager2400/24005 Danylo Kobiakovych: 2474/24743 Mari Djata I: 2355/2355 €6 Prithviraj Chauhan: 2350/2350Yekuno Amlak: 2330/23308 Ellac the Hun: 2254/22544 Wen Tianxiang: 2120/21207 Vikramaditya I: 2115/21151 kovaliklukas: 2047/2047BBBGBEBA...
|
16985
|
|
56239
|
1216
|
45
|
2026-04-20T11:03:53.067369+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-20/1776 /Users/lukas/.screenpipe/data/data/2026-04-20/1776683033067_m2.jpg...
|
Firefox
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Slack100% 1Mon 20 AOr 14.03.02& 10ActivityMor Slack100% 1Mon 20 AOr 14.03.02& 10ActivityMoreVIewMistonWindowHeldJiminny ...plattorm-inner-teamDratts & centiMessagesChannel OverviewL Rehnementsr Files& Pins• Bookmarks72 Retro Action Item:o Deleted hle8 DirectoriesEb External connections& Starred@ liminny-x-integrati...• platform-inner-teamE Channels# ai-chapter# alertsS hackendi# confusion-clinica curiosity a# engineering# frontend# general# infra-changesa liminny-bg# platform-tickets# product launches# random# releases# support# thank-yous# the people of iimi..6? Direct messagesf. Aneliva AneelovaGalya Dimitrova2 Stefka StovanovalCtovan Tomov(3) Aneliva Angelova.Nikolav Nikolov& Stoyan TanevVasil VasilevNikolay lvanoval Ves:: AppsStatus: BacklogI Tvne: StoryAssignee. Unassiened1 PrioFriday, April 17thSync threadAl SummariseAdded by Jira CloudJY-20613 Allow owner's role to be selected when setting up a trialStatuc. Rockiod# Type: StoryAssignee: UnassignedDriority MediumSync thread*Al SummariseAdded by Jira CloudJy-20500 Batch initial sync for Salestorce.Status: BacklogWType: StoryAssignee: UnassignedT Priority: MediumSync thread*t Al SummariseAdded by lira GloudJY-20501 Batch initial svnc for HubsnotiStatus: BacklogLType: Story)Assignee: Unassiened1 Prioritv: MediumSync thread*+Al SummariseAdded by lim GloudLukas Kovallik 10:08 AMнешо ми изключи аudiо изцяло, края не сьм чувал нишо, какво ла поглелна аз от тези18u1 2 replies Last renlv todav at 10:25 AMNikolay Yankov 10:56 AMЛукас, това тества ли го преди merge?[URL_WITH_CREDENTIALS] HS_local [jiminny@localhost]A console (eu)« console [PROD] Xdo jiminny v10 = 15440:034 A1 A34 M62 ^ -onfiquration 1d = 555.1d = 555:# team. 581, gr. 15440, pl. 3911, act. field 162182Inen id THEN owner: EISEENOD AS usen io.= 'salesforce';order by id descure 10 = 40119 = 54; # 4fdd41f6-dct0-5000-D559-754558106044 , L"pat", "podcast")WHERE UUId TO DIN 822f2410-af03-4329-a248-8600e3613131' = uuid:order by id desc;WHERE 1d = 1919;WHERE repont. 1d = 54;7594549Les%'• # 711, 692. 160678- jiminnvintearationGlesmills.com= 711; # event 226147E playbook_id = 5515)%147•nm fiold 1d = 224147.id = 692:inen id THEN I (ownon)I SICE II ENOD AS lcen idl= 'salesforce' :CascadeRetactor Connectionwhat is the connection.disconnected doesn't exist?What happens it connection.disconnected doesn't exist?It connection.disconnected is not detined on the object, accessing it returns under ined .Evaluatina the quard clauseIn iavascriotifconnection ll connection.disconnected z== true ll connection.connected za= false) «Let's trace with disconnected missina lie. undefinedCheckValuePesultIconnectionconnection existsfalseconnection.disconnected == trueunderined == truefalseconnection.connected = falsedenends on connectedllSo if disconnected is missing but connected === true :• All three conditions are false → doesn't bail out → proceeds to the success path &Why this is the correct benaviorThe Intearation Aoo SDK's connection obiect mav not alwavs exolicitlv set both flaas. The oricinal code intentionallv used loose checks (fe= true.!== false ) so that a missing/undefined property wouldn't be treated as a failure.The quard clause nreserves thisOnlv hails when disconnected is eyolicitiy true•Only bails when connected is explicitly talse• Missina/undetined values are treated as "not a failure sianal" → success path continuesContrast with Nikolay's original suggestionHis versiondisconnected == false ao connected === true would have required both properties to exist as explicit booleans. It disconnectedwere miccina undefined rrn false is false & the check would fail @) no Apl call made even on a valid connection. That's why his suacectionC.al "Ask anvthina (84-D< CodeClaude Onus 4.7 MediumW Windsurf Teamo144-46 UITE.RPo. 2 spac...
|
NULL
|
9091792483550508767
|
NULL
|
idle
|
ocr
|
NULL
|
Slack100% 1Mon 20 AOr 14.03.02& 10ActivityMor Slack100% 1Mon 20 AOr 14.03.02& 10ActivityMoreVIewMistonWindowHeldJiminny ...plattorm-inner-teamDratts & centiMessagesChannel OverviewL Rehnementsr Files& Pins• Bookmarks72 Retro Action Item:o Deleted hle8 DirectoriesEb External connections& Starred@ liminny-x-integrati...• platform-inner-teamE Channels# ai-chapter# alertsS hackendi# confusion-clinica curiosity a# engineering# frontend# general# infra-changesa liminny-bg# platform-tickets# product launches# random# releases# support# thank-yous# the people of iimi..6? Direct messagesf. Aneliva AneelovaGalya Dimitrova2 Stefka StovanovalCtovan Tomov(3) Aneliva Angelova.Nikolav Nikolov& Stoyan TanevVasil VasilevNikolay lvanoval Ves:: AppsStatus: BacklogI Tvne: StoryAssignee. Unassiened1 PrioFriday, April 17thSync threadAl SummariseAdded by Jira CloudJY-20613 Allow owner's role to be selected when setting up a trialStatuc. Rockiod# Type: StoryAssignee: UnassignedDriority MediumSync thread*Al SummariseAdded by Jira CloudJy-20500 Batch initial sync for Salestorce.Status: BacklogWType: StoryAssignee: UnassignedT Priority: MediumSync thread*t Al SummariseAdded by lira GloudJY-20501 Batch initial svnc for HubsnotiStatus: BacklogLType: Story)Assignee: Unassiened1 Prioritv: MediumSync thread*+Al SummariseAdded by lim GloudLukas Kovallik 10:08 AMнешо ми изключи аudiо изцяло, края не сьм чувал нишо, какво ла поглелна аз от тези18u1 2 replies Last renlv todav at 10:25 AMNikolay Yankov 10:56 AMЛукас, това тества ли го преди merge?[URL_WITH_CREDENTIALS] HS_local [jiminny@localhost]A console (eu)« console [PROD] Xdo jiminny v10 = 15440:034 A1 A34 M62 ^ -onfiquration 1d = 555.1d = 555:# team. 581, gr. 15440, pl. 3911, act. field 162182Inen id THEN owner: EISEENOD AS usen io.= 'salesforce';order by id descure 10 = 40119 = 54; # 4fdd41f6-dct0-5000-D559-754558106044 , L"pat", "podcast")WHERE UUId TO DIN 822f2410-af03-4329-a248-8600e3613131' = uuid:order by id desc;WHERE 1d = 1919;WHERE repont. 1d = 54;7594549Les%'• # 711, 692. 160678- jiminnvintearationGlesmills.com= 711; # event 226147E playbook_id = 5515)%147•nm fiold 1d = 224147.id = 692:inen id THEN I (ownon)I SICE II ENOD AS lcen idl= 'salesforce' :CascadeRetactor Connectionwhat is the connection.disconnected doesn't exist?What happens it connection.disconnected doesn't exist?It connection.disconnected is not detined on the object, accessing it returns under ined .Evaluatina the quard clauseIn iavascriotifconnection ll connection.disconnected z== true ll connection.connected za= false) «Let's trace with disconnected missina lie. undefinedCheckValuePesultIconnectionconnection existsfalseconnection.disconnected == trueunderined == truefalseconnection.connected = falsedenends on connectedllSo if disconnected is missing but connected === true :• All three conditions are false → doesn't bail out → proceeds to the success path &Why this is the correct benaviorThe Intearation Aoo SDK's connection obiect mav not alwavs exolicitlv set both flaas. The oricinal code intentionallv used loose checks (fe= true.!== false ) so that a missing/undefined property wouldn't be treated as a failure.The quard clause nreserves thisOnlv hails when disconnected is eyolicitiy true•Only bails when connected is explicitly talse• Missina/undetined values are treated as "not a failure sianal" → success path continuesContrast with Nikolay's original suggestionHis versiondisconnected == false ao connected === true would have required both properties to exist as explicit booleans. It disconnectedwere miccina undefined rrn false is false & the check would fail @) no Apl call made even on a valid connection. That's why his suacectionC.al "Ask anvthina (84-D< CodeClaude Onus 4.7 MediumW Windsurf Teamo144-46 UITE.RPo. 2 spac...
|
56237
|
|
78948
|
2023
|
6
|
2026-04-24T14:01:07.641872+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-24/1777 /Users/lukas/.screenpipe/data/data/2026-04-24/1777039267641_m1.jpg...
|
Firefox
|
(61) Inbox | kovaliklukas@proton.me | Proton Mail (61) Inbox | kovaliklukas@proton.me | Proton Mail — Personal...
|
1
|
mail.proton.me/u/0/inbox/gOqwNUFrYcVHR5gMNxlZf1Czl mail.proton.me/u/0/inbox/gOqwNUFrYcVHR5gMNxlZf1Czle0XjfwQcPOCK4CnYYfWw2rG2nt9aOo6SgIsaqOPu7uD5uWrMfSXoRKm2RcD7A==#page=3...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
5 Signs You Have Successfully Hur DXP4800PLUS-B5F8
5 Signs You Have Successfully Hurt a Narcissist; - [EMAIL] - Gmail
(61) Inbox | [EMAIL] | Proton Mail
Welcome back
Welcome back
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Today's Deals
Today's Deals
architecture - screenpipe docs
architecture - screenpipe docs
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude Platform
Claude Platform
Hey @louis030195 Ill check during my - screenpipe.com
Hey @louis030195 Ill check during my - screenpipe.com
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Proton Mail
needs your permission to
enable desktop notifications
.
Close this banner
Close this banner
Proton Mail
Proton Mail
Proton Mail
Proton applications
New message
Navigation
Navigation
Inbox 61 unread conversations
Inbox
61
Drafts
Drafts
Sent
Sent
Starred
Starred
More
More
More
More
Views
Views
Views
Views
Newsletters
Newsletters
Folders
Folders
Folders
Folders
Create a new folder
Create a new folder
Manage your folders
Manage your folders
Labels
Labels
Labels
Labels
Create a new label
Create a new label
Manage your labels
Manage your labels
gmail.com 26-04-2025 17:28
gmail.com 26-04-2025 17:28
Important
Important
Show navigation bar
Show navigation bar
Your current storage: 17.76 MB / 500.00 MB
17.76 MB / 500.00 MB
17.76 MB
/
500.00 MB
Proton Mail [IP_ADDRESS]
Proton Mail
[IP_ADDRESS]
Search
Search
Search messages
Upgrade
Upgrade
Attention required Toggle settings
Attention required
Toggle settings
kovaliklukas [EMAIL]
kovaliklukas
[EMAIL]
Conversation list 61 unread messages
Conversation list
61 unread messages
Select all messages
Select all messages
Inbox
Inbox
More
More
All
Read
Unread
Has attachments
Sort conversations
Previous page
Previous page
3/4
3
/
4
Next page
Next page
Upgrade to level up your privacy.
Upgrade
Close
Close
Star conversation
Star conversation
Unread email
Matúš Kostolný Denník N
2 messages in conversation Šutaj Eštok v bakalárke: Pracovný deň začíname skontrolovaním e-mailovej schránky
2 messages in conversation
Šutaj Eštok v bakalárke: Pracovný deň začíname skontrolovaním e-mailovej schránky
Friday, December 19th, 2025 at 10:52 AM
Star conversation
Star conversation
Ranných 5 minút | Denník N
Fico na kľúčovom samite odmietol garancie na pôžičku Ukrajine | Vyše 150 prokurátorov sa postavilo proti novele | Zverejnili spoločnú fotku Lajčáka a Epsteina
Fico na kľúčovom samite odmietol garancie na pôžičku Ukrajine | Vyše 150 prokurátorov sa postavilo proti novele | Zverejnili spoločnú fotku Lajčáka a Epsteina
Friday, December 19th, 2025 at 8:24 AM
Star conversation
Star conversation
Unread email
Ranných 5 minút | Denník N
Vládne zákony narazili na Ústavný súd | Od koalície odišlo už pol milióna voličov | Rusko pritvrdzuje proti Európe | Vysvetľujeme zmeny pri predaji áut po roku 2035
Vládne zákony narazili na Ústavný súd | Od koalície odišlo už pol milióna voličov | Rusko pritvrdzuje proti Európe | Vysvetľujeme zmeny pri predaji áut po roku 2035
Thursday, December 18th, 2025 at 8:00 AM
Star conversation
Star conversation
Unread email
Ranných 5 minút | Denník N
Pavol Gašpar podrazil českú tajnú službu | Čo sme našli v diplomovke a bakalárke Šutaja Eštoka | K opozičnému protestu sa prvýkrát pripojila Maďarská aliancia
Pavol Gašpar podrazil českú tajnú službu | Čo sme našli v diplomovke a bakalárke Šutaja Eštoka | K opozičnému protestu sa prvýkrát pripojila Maďarská aliancia
Wednesday, December 17th, 2025 at 7:52 AM
Star conversation
Star conversation
Unread email
Ranných 5 minút | Denník N
Prenikli sme do sveta slovenských manfluencerov | V desiatke miest budú opozičné protesty | Strelca na pláži v Sydney zneškodnil moslimský predavač ovocia
Prenikli sme do sveta slovenských manfluencerov | V desiatke miest budú opozičné protesty | Strelca na pláži v Sydney zneškodnil moslimský predavač ovocia
Tuesday, December 16th, 2025 at 7:51 AM
Star conversation
Star conversation
Unread email
Ranných 5 minút | Denník N
Medzi obeťami útoku v Sydney je aj Slovenka | Kaliňák neočakáva veto trestnej novely | Zelenskyj pripustil kompromis pri NATO
Medzi obeťami útoku v Sydney je aj Slovenka | Kaliňák neočakáva veto trestnej novely | Zelenskyj pripustil kompromis pri NATO
Monday, December 15th, 2025 at 9:16 AM
Star conversation
Star conversation
Disney+
We are sorry to see you go
We are sorry to see you go
Saturday, December 13th, 2025 at 11:09 PM
Star conversation
Star conversation
Disney+
7 messages in conversation We noticed a new login
7 messages in conversation
We noticed a new login
Saturday, December 13th, 2025 at 11:07 PM
Star conversation
Star conversation
Kai from Tandem
2 messages in conversation You're almost there
2 messages in conversation
You're almost there
Saturday, December 13th, 2025 at 10:09 PM
Star conversation
Star conversation
Kai from Tandem
Verify your email to secure your Tandem account
Verify your email to secure your Tandem account
Saturday, December 13th, 2025 at 12:08 AM
Star conversation
Star conversation
UGREEN
🎁 Year-End Flash Sale is On
🎁 Year-End Flash Sale is On
Friday, December 12th, 2025 at 2:02 PM
Star conversation
Star conversation
UGREEN
🎄 Brighten Up Winter with Up to 40% Off!
🎄 Brighten Up Winter with Up to 40% Off!
Monday, December 8th, 2025 at 2:00 PM
Star conversation
Star conversation
Unread email
UGREEN
Celebrate the Season with UGREEN: Because Being Together Makes Christmas
Celebrate the Season with UGREEN: Because Being Together Makes Christmas
Saturday, December 6th, 2025 at 1:01 PM
Star conversation
Star conversation
UGREEN
Cyber Monday – Only 24 Hours Left⚡
Cyber Monday – Only 24 Hours Left⚡
Monday, December 1st, 2025 at 11:03 AM
Star conversation
Star conversation
★ Webshare.cz ★
Mikulášská akční nabídka na Webshare.cz
Mikulášská akční nabídka na Webshare.cz
Sunday, November 30th, 2025 at 4:59 PM
Star conversation
Star conversation
UGREEN
🔥Black Friday: Up to 50% Off Ending Soon
🔥Black Friday: Up to 50% Off Ending Soon
Saturday, November 29th, 2025 at 10:03 AM
Star conversation
Star conversation
Proton
Official
Last chance to save this Black Friday
Last chance to save this Black Friday
Friday, November 28th, 2025 at 7:01 PM
Star conversation
Star conversation
UGREEN
🔥Black Friday Deals Start Now: Up To 50% Off
🔥Black Friday Deals Start Now: Up To 50% Off
Friday, November 28th, 2025 at 10:08 AM...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"5 Signs You Have Successfully Hurt a Narcissist; - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"(61) Inbox | kovaliklukas@proton.me | Proton Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXRadioButton","text":"Welcome back","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Welcome back","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Today's Deals","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Today's Deals","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"architecture - screenpipe docs","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"architecture - screenpipe docs","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Code works better when you stop treating it like a machine - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Code works better when you stop treating it like a machine - kovaliklukas@gmail.com - Gmail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Platform","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Platform","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Hey @louis030195 Ill check during my - screenpipe.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hey @louis030195 Ill check during my - screenpipe.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Gong Pricing in 2026: Costs, Plans & Is It Worth It?","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gong Pricing in 2026: Costs, Plans & Is It Worth It?","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - kovaliklukas@gmail.com - Gmail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.0,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.0,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.0,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.016666668,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Proton Mail","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"needs your permission to","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"enable desktop notifications","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":".","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close this banner","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Close this banner","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Proton Mail","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proton Mail","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Proton Mail","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Proton applications","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New message","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Navigation","depth":12,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Navigation","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Inbox 61 unread conversations","depth":15,"help_text":"Inbox","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Inbox","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"61","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Drafts","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Drafts","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Sent","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Sent","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Starred","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Starred","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"More","depth":14,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"More","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Views","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Views","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Views","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Views","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Newsletters","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Newsletters","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Folders","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Folders","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Folders","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Folders","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create a new folder","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create a new folder","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage your folders","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage your folders","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Labels","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Labels","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Labels","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Labels","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Create a new label","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Create a new label","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Manage your labels","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Manage your labels","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"gmail.com 26-04-2025 17:28","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"gmail.com 26-04-2025 17:28","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Important","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Important","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Show navigation bar","depth":13,"bounds":{"left":0.3013889,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show navigation bar","depth":15,"bounds":{"left":0.30625,"top":0.0,"width":0.047569446,"height":0.06388889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Your current storage: 17.76 MB / 500.00 MB","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"17.76 MB / 500.00 MB","depth":11,"bounds":{"left":0.16388889,"top":0.0,"width":0.071875,"height":0.013888889},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"17.76 MB","depth":12,"bounds":{"left":0.16388889,"top":0.0,"width":0.029513888,"height":0.013888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"bounds":{"left":0.19340278,"top":0.0,"width":0.00625,"height":0.013888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"500.00 MB","depth":12,"bounds":{"left":0.19965278,"top":0.0,"width":0.036111113,"height":0.013888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Proton Mail 5.0.111.4","depth":11,"bounds":{"left":0.29444444,"top":0.0,"width":0.02638889,"height":0.015555556},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Proton Mail","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5.0.111.4","depth":12,"bounds":{"left":0.29444444,"top":0.0,"width":0.02638889,"height":0.013888889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Search","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search messages","depth":12,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Upgrade","depth":13,"help_text":"Go to subscription plans","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Upgrade","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Attention required Toggle settings","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Attention required","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Toggle settings","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"kovaliklukas kovaliklukas@proton.me","depth":13,"help_text":"kovaliklukas <kovaliklukas@proton.me>","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"kovaliklukas","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"kovaliklukas@proton.me","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Conversation list 61 unread messages","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation list","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"61 unread messages","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Select all messages","depth":19,"help_text":"","role_description":"checkbox","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Select all messages","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Inbox","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Inbox","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"More","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"All","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Read","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Unread","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Has attachments","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Sort conversations","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Previous page","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Previous page","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"3/4","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Next page","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Next page","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Upgrade to level up your privacy.","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Upgrade","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Close","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Close","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unread email","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Matúš Kostolný Denník N","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"2 messages in conversation Šutaj Eštok v bakalárke: Pracovný deň začíname skontrolovaním e-mailovej schránky","depth":17,"help_text":"Šutaj Eštok v bakalárke: Pracovný deň začíname skontrolovaním e-mailovej schránky","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2 messages in conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Šutaj Eštok v bakalárke: Pracovný deň začíname skontrolovaním e-mailovej schránky","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Friday, December 19th, 2025 at 10:52 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ranných 5 minút | Denník N","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Fico na kľúčovom samite odmietol garancie na pôžičku Ukrajine | Vyše 150 prokurátorov sa postavilo proti novele | Zverejnili spoločnú fotku Lajčáka a Epsteina","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fico na kľúčovom samite odmietol garancie na pôžičku Ukrajine | Vyše 150 prokurátorov sa postavilo proti novele | Zverejnili spoločnú fotku Lajčáka a Epsteina","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Friday, December 19th, 2025 at 8:24 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unread email","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ranných 5 minút | Denník N","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Vládne zákony narazili na Ústavný súd | Od koalície odišlo už pol milióna voličov | Rusko pritvrdzuje proti Európe | Vysvetľujeme zmeny pri predaji áut po roku 2035","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vládne zákony narazili na Ústavný súd | Od koalície odišlo už pol milióna voličov | Rusko pritvrdzuje proti Európe | Vysvetľujeme zmeny pri predaji áut po roku 2035","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Thursday, December 18th, 2025 at 8:00 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unread email","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ranných 5 minút | Denník N","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Pavol Gašpar podrazil českú tajnú službu | Čo sme našli v diplomovke a bakalárke Šutaja Eštoka | K opozičnému protestu sa prvýkrát pripojila Maďarská aliancia","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Pavol Gašpar podrazil českú tajnú službu | Čo sme našli v diplomovke a bakalárke Šutaja Eštoka | K opozičnému protestu sa prvýkrát pripojila Maďarská aliancia","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Wednesday, December 17th, 2025 at 7:52 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unread email","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ranných 5 minút | Denník N","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Prenikli sme do sveta slovenských manfluencerov | V desiatke miest budú opozičné protesty | Strelca na pláži v Sydney zneškodnil moslimský predavač ovocia","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Prenikli sme do sveta slovenských manfluencerov | V desiatke miest budú opozičné protesty | Strelca na pláži v Sydney zneškodnil moslimský predavač ovocia","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tuesday, December 16th, 2025 at 7:51 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unread email","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ranných 5 minút | Denník N","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Medzi obeťami útoku v Sydney je aj Slovenka | Kaliňák neočakáva veto trestnej novely | Zelenskyj pripustil kompromis pri NATO","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Medzi obeťami útoku v Sydney je aj Slovenka | Kaliňák neočakáva veto trestnej novely | Zelenskyj pripustil kompromis pri NATO","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Monday, December 15th, 2025 at 9:16 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Disney+","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"We are sorry to see you go","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We are sorry to see you go","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Saturday, December 13th, 2025 at 11:09 PM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Disney+","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"7 messages in conversation We noticed a new login","depth":17,"help_text":"We noticed a new login","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7 messages in conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"We noticed a new login","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Saturday, December 13th, 2025 at 11:07 PM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Kai from Tandem","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"2 messages in conversation You're almost there","depth":17,"help_text":"You're almost there","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2 messages in conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You're almost there","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Saturday, December 13th, 2025 at 10:09 PM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Kai from Tandem","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Verify your email to secure your Tandem account","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Verify your email to secure your Tandem account","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Saturday, December 13th, 2025 at 12:08 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"🎁 Year-End Flash Sale is On","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🎁 Year-End Flash Sale is On","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Friday, December 12th, 2025 at 2:02 PM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"🎄 Brighten Up Winter with Up to 40% Off!","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🎄 Brighten Up Winter with Up to 40% Off!","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Monday, December 8th, 2025 at 2:00 PM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Unread email","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Celebrate the Season with UGREEN: Because Being Together Makes Christmas","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Celebrate the Season with UGREEN: Because Being Together Makes Christmas","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Saturday, December 6th, 2025 at 1:01 PM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Cyber Monday – Only 24 Hours Left⚡","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Cyber Monday – Only 24 Hours Left⚡","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Monday, December 1st, 2025 at 11:03 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"★ Webshare.cz ★","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Mikulášská akční nabídka na Webshare.cz","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mikulášská akční nabídka na Webshare.cz","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sunday, November 30th, 2025 at 4:59 PM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"🔥Black Friday: Up to 50% Off Ending Soon","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🔥Black Friday: Up to 50% Off Ending Soon","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Saturday, November 29th, 2025 at 10:03 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Proton","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Official","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Last chance to save this Black Friday","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Last chance to save this Black Friday","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Friday, November 28th, 2025 at 7:01 PM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Star conversation","depth":17,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Star conversation","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"UGREEN","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"🔥Black Friday Deals Start Now: Up To 50% Off","depth":17,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"🔥Black Friday Deals Start Now: Up To 50% Off","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Friday, November 28th, 2025 at 10:08 AM","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
9091595139477324270
|
1762483962088381065
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
5 Signs You Have Successfully Hur DXP4800PLUS-B5F8
5 Signs You Have Successfully Hurt a Narcissist; - [EMAIL] - Gmail
(61) Inbox | [EMAIL] | Proton Mail
Welcome back
Welcome back
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Today's Deals
Today's Deals
architecture - screenpipe docs
architecture - screenpipe docs
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude Platform
Claude Platform
Hey @louis030195 Ill check during my - screenpipe.com
Hey @louis030195 Ill check during my - screenpipe.com
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
Proton Mail
needs your permission to
enable desktop notifications
.
Close this banner
Close this banner
Proton Mail
Proton Mail
Proton Mail
Proton applications
New message
Navigation
Navigation
Inbox 61 unread conversations
Inbox
61
Drafts
Drafts
Sent
Sent
Starred
Starred
More
More
More
More
Views
Views
Views
Views
Newsletters
Newsletters
Folders
Folders
Folders
Folders
Create a new folder
Create a new folder
Manage your folders
Manage your folders
Labels
Labels
Labels
Labels
Create a new label
Create a new label
Manage your labels
Manage your labels
gmail.com 26-04-2025 17:28
gmail.com 26-04-2025 17:28
Important
Important
Show navigation bar
Show navigation bar
Your current storage: 17.76 MB / 500.00 MB
17.76 MB / 500.00 MB
17.76 MB
/
500.00 MB
Proton Mail [IP_ADDRESS]
Proton Mail
[IP_ADDRESS]
Search
Search
Search messages
Upgrade
Upgrade
Attention required Toggle settings
Attention required
Toggle settings
kovaliklukas [EMAIL]
kovaliklukas
[EMAIL]
Conversation list 61 unread messages
Conversation list
61 unread messages
Select all messages
Select all messages
Inbox
Inbox
More
More
All
Read
Unread
Has attachments
Sort conversations
Previous page
Previous page
3/4
3
/
4
Next page
Next page
Upgrade to level up your privacy.
Upgrade
Close
Close
Star conversation
Star conversation
Unread email
Matúš Kostolný Denník N
2 messages in conversation Šutaj Eštok v bakalárke: Pracovný deň začíname skontrolovaním e-mailovej schránky
2 messages in conversation
Šutaj Eštok v bakalárke: Pracovný deň začíname skontrolovaním e-mailovej schránky
Friday, December 19th, 2025 at 10:52 AM
Star conversation
Star conversation
Ranných 5 minút | Denník N
Fico na kľúčovom samite odmietol garancie na pôžičku Ukrajine | Vyše 150 prokurátorov sa postavilo proti novele | Zverejnili spoločnú fotku Lajčáka a Epsteina
Fico na kľúčovom samite odmietol garancie na pôžičku Ukrajine | Vyše 150 prokurátorov sa postavilo proti novele | Zverejnili spoločnú fotku Lajčáka a Epsteina
Friday, December 19th, 2025 at 8:24 AM
Star conversation
Star conversation
Unread email
Ranných 5 minút | Denník N
Vládne zákony narazili na Ústavný súd | Od koalície odišlo už pol milióna voličov | Rusko pritvrdzuje proti Európe | Vysvetľujeme zmeny pri predaji áut po roku 2035
Vládne zákony narazili na Ústavný súd | Od koalície odišlo už pol milióna voličov | Rusko pritvrdzuje proti Európe | Vysvetľujeme zmeny pri predaji áut po roku 2035
Thursday, December 18th, 2025 at 8:00 AM
Star conversation
Star conversation
Unread email
Ranných 5 minút | Denník N
Pavol Gašpar podrazil českú tajnú službu | Čo sme našli v diplomovke a bakalárke Šutaja Eštoka | K opozičnému protestu sa prvýkrát pripojila Maďarská aliancia
Pavol Gašpar podrazil českú tajnú službu | Čo sme našli v diplomovke a bakalárke Šutaja Eštoka | K opozičnému protestu sa prvýkrát pripojila Maďarská aliancia
Wednesday, December 17th, 2025 at 7:52 AM
Star conversation
Star conversation
Unread email
Ranných 5 minút | Denník N
Prenikli sme do sveta slovenských manfluencerov | V desiatke miest budú opozičné protesty | Strelca na pláži v Sydney zneškodnil moslimský predavač ovocia
Prenikli sme do sveta slovenských manfluencerov | V desiatke miest budú opozičné protesty | Strelca na pláži v Sydney zneškodnil moslimský predavač ovocia
Tuesday, December 16th, 2025 at 7:51 AM
Star conversation
Star conversation
Unread email
Ranných 5 minút | Denník N
Medzi obeťami útoku v Sydney je aj Slovenka | Kaliňák neočakáva veto trestnej novely | Zelenskyj pripustil kompromis pri NATO
Medzi obeťami útoku v Sydney je aj Slovenka | Kaliňák neočakáva veto trestnej novely | Zelenskyj pripustil kompromis pri NATO
Monday, December 15th, 2025 at 9:16 AM
Star conversation
Star conversation
Disney+
We are sorry to see you go
We are sorry to see you go
Saturday, December 13th, 2025 at 11:09 PM
Star conversation
Star conversation
Disney+
7 messages in conversation We noticed a new login
7 messages in conversation
We noticed a new login
Saturday, December 13th, 2025 at 11:07 PM
Star conversation
Star conversation
Kai from Tandem
2 messages in conversation You're almost there
2 messages in conversation
You're almost there
Saturday, December 13th, 2025 at 10:09 PM
Star conversation
Star conversation
Kai from Tandem
Verify your email to secure your Tandem account
Verify your email to secure your Tandem account
Saturday, December 13th, 2025 at 12:08 AM
Star conversation
Star conversation
UGREEN
🎁 Year-End Flash Sale is On
🎁 Year-End Flash Sale is On
Friday, December 12th, 2025 at 2:02 PM
Star conversation
Star conversation
UGREEN
🎄 Brighten Up Winter with Up to 40% Off!
🎄 Brighten Up Winter with Up to 40% Off!
Monday, December 8th, 2025 at 2:00 PM
Star conversation
Star conversation
Unread email
UGREEN
Celebrate the Season with UGREEN: Because Being Together Makes Christmas
Celebrate the Season with UGREEN: Because Being Together Makes Christmas
Saturday, December 6th, 2025 at 1:01 PM
Star conversation
Star conversation
UGREEN
Cyber Monday – Only 24 Hours Left⚡
Cyber Monday – Only 24 Hours Left⚡
Monday, December 1st, 2025 at 11:03 AM
Star conversation
Star conversation
★ Webshare.cz ★
Mikulášská akční nabídka na Webshare.cz
Mikulášská akční nabídka na Webshare.cz
Sunday, November 30th, 2025 at 4:59 PM
Star conversation
Star conversation
UGREEN
🔥Black Friday: Up to 50% Off Ending Soon
🔥Black Friday: Up to 50% Off Ending Soon
Saturday, November 29th, 2025 at 10:03 AM
Star conversation
Star conversation
Proton
Official
Last chance to save this Black Friday
Last chance to save this Black Friday
Friday, November 28th, 2025 at 7:01 PM
Star conversation
Star conversation
UGREEN
🔥Black Friday Deals Start Now: Up To 50% Off
🔥Black Friday Deals Start Now: Up To 50% Off
Friday, November 28th, 2025 at 10:08 AM...
|
NULL
|
|
24558
|
532
|
11
|
2026-04-15T12:26:49.020827+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776256009020_m1.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Boosteroid-•0l0j Sprint Review • in 34 m• 0-zshDOC Boosteroid-•0l0j Sprint Review • in 34 m• 0-zshDOCKERO $1DEV (-zsh)182APP (-zsh)83ec2-user@ip-10-.. 884-zsh85-zsh861536336|244781accessibilitylAXStaticTextl1l-zshl0.48819443583488510.033333335071802110.02291666716337210.01777777820825581536335|24478laccessibility|AXStaticText|1|<x110.95486110448837310.032222222536802310.0388888902962208I0.[CREDIT_CARD]-zsh-100% C8 Wed 15 Apr 15:26:48T81O 87* Unable to a...O x8-zshzsh: command not found: #31105|2026-04-15T12:22:33.375110+00:00|clipboardl ||||# What's in one day's folderls ~/.screenpipe/data/data/2026-04-15/ | head -40# Total size of jpg vs mp4find ~/.screenpipe/data -name "*.jpg" -exec du -c {} + 2>/dev/null | tail -1find ~/.screenpipe/data -name "*.mp4" -exec du -c {} + 2>/dev/null | tail -1# Sample filenames to understand naming patternls ~/.screenpipe/data/data/2026-04-15/ | head -20# One more query - sample ocr_text correctlysqlite3 ~/.screenpipe/db.sqliteSELECT o. frame_id, o.app_name, o.window_name, o. focused,substr(o.text, 1, 120) as text_previewFROM ocr_text oORDER BY o. frame_id DESCLIMIT 5;# And frames samplesqlite3 ~/.screenpipe/db.sqlite "SELECT id, timestamp, app_name, window_name, snapshot_path,capture_trigger, text_source, content_hashFROM framesORDER BY id DESCLIMIT 5;# And elements samplesqlite3 ~/.screenpipe/db.sqlite "SELECT id, frame_id, source, role, depth,substr(text,1,80) as text_preview,left_bound, top_bound, width_bound, height_boun...l31104|2026-04-15T12:22:33.374610+00:00|key|Code|Getting started with Cla... - screenpipe [SSH: [IP_ADDRESS]]11|1131103|2026-04-15T12:22:32.539852+00:00|text|||||clear31102|2026-04-15T12:22:30.783272+00:00|click|Code|Getting started with Cla... - screenpipe [SSH: [IP_ADDRESS]]192014791|AXTextArea| shell31101|2026-04-15T12:22:30.697760+00:00|click|Code|Getting started with Cla... - screenpipe [SSH: [IP_ADDRESS]]19201479111lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $...
|
NULL
|
9091442665972297151
|
NULL
|
click
|
ocr
|
NULL
|
Boosteroid-•0l0j Sprint Review • in 34 m• 0-zshDOC Boosteroid-•0l0j Sprint Review • in 34 m• 0-zshDOCKERO $1DEV (-zsh)182APP (-zsh)83ec2-user@ip-10-.. 884-zsh85-zsh861536336|244781accessibilitylAXStaticTextl1l-zshl0.48819443583488510.033333335071802110.02291666716337210.01777777820825581536335|24478laccessibility|AXStaticText|1|<x110.95486110448837310.032222222536802310.0388888902962208I0.[CREDIT_CARD]-zsh-100% C8 Wed 15 Apr 15:26:48T81O 87* Unable to a...O x8-zshzsh: command not found: #31105|2026-04-15T12:22:33.375110+00:00|clipboardl ||||# What's in one day's folderls ~/.screenpipe/data/data/2026-04-15/ | head -40# Total size of jpg vs mp4find ~/.screenpipe/data -name "*.jpg" -exec du -c {} + 2>/dev/null | tail -1find ~/.screenpipe/data -name "*.mp4" -exec du -c {} + 2>/dev/null | tail -1# Sample filenames to understand naming patternls ~/.screenpipe/data/data/2026-04-15/ | head -20# One more query - sample ocr_text correctlysqlite3 ~/.screenpipe/db.sqliteSELECT o. frame_id, o.app_name, o.window_name, o. focused,substr(o.text, 1, 120) as text_previewFROM ocr_text oORDER BY o. frame_id DESCLIMIT 5;# And frames samplesqlite3 ~/.screenpipe/db.sqlite "SELECT id, timestamp, app_name, window_name, snapshot_path,capture_trigger, text_source, content_hashFROM framesORDER BY id DESCLIMIT 5;# And elements samplesqlite3 ~/.screenpipe/db.sqlite "SELECT id, frame_id, source, role, depth,substr(text,1,80) as text_preview,left_bound, top_bound, width_bound, height_boun...l31104|2026-04-15T12:22:33.374610+00:00|key|Code|Getting started with Cla... - screenpipe [SSH: [IP_ADDRESS]]11|1131103|2026-04-15T12:22:32.539852+00:00|text|||||clear31102|2026-04-15T12:22:30.783272+00:00|click|Code|Getting started with Cla... - screenpipe [SSH: [IP_ADDRESS]]192014791|AXTextArea| shell31101|2026-04-15T12:22:30.697760+00:00|click|Code|Getting started with Cla... - screenpipe [SSH: [IP_ADDRESS]]19201479111lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $...
|
24556
|
|
42296
|
898
|
9
|
2026-04-17T07:01:31.549335+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776409291549_m1.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelpDaily - Platform - 4 m leftA→meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.comNikolay Yankov (Presenting, annotating)ChromeFileEditViewHistoryWindowHelp8• Fri 17 Apr 10:01inb9 ServiceFont AiCost|cF Project• Fix Der|K [JY-97T Project|dev.ap@ dev.apdev.aphttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-1996788|MIHome | SalesforceEa Datadog* Claudel© CircleChOCTLLYC All Bookmarks |Platform Team88Q Sear$ Jy-12249 / ₴ JY-19967|READY FUpgrade Python and libraries - AprReworkPhase:NudgesCOST-EBacklogv Descriptionhttps://github.com/jiminny/prephet/security/dependabet5 •0A JY-2|SubtasksAdd subtaskInvesticwhy exFontawMAINTIReady fe1 nLinked work itemsAdd linked work itemJY-2ActivityAllComments|HistoryWork logAI Repepage dipromotAJ REPSBacklog6 .Add a comment...Status update…Thanks…Agree….[) JY-2Send email10:01 AM | Daily - PlatformSộ3In Dev v* Improve Technical StoryDetails|Assigneef Stellyan GeorgievAssign to meReporter& Stefka StoyanovaDevelopmentPop out this video@ Open with V5 branches13 commitss meet.google.comA Nikolay Yankov (You, prese.4 pull requests4 buildsReleasesA› ProductionSee all deploy100% <478• Fri 17 Apr 10:01:31=Steliyan GeorgievNikolay Nikolov3 othersNikolay YankovLukas Kovalik15:39...
|
NULL
|
9090690672487951560
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelpDaily - Platform - 4 m leftA→meet.google.com/mie-gawc-dsi?authuser=lukas.kovalik%40jiminny.comNikolay Yankov (Presenting, annotating)ChromeFileEditViewHistoryWindowHelp8• Fri 17 Apr 10:01inb9 ServiceFont AiCost|cF Project• Fix Der|K [JY-97T Project|dev.ap@ dev.apdev.aphttps://jiminny.atlassian.net/jira/software/c/projects/JY/boards/37?selectedissue=JY-1996788|MIHome | SalesforceEa Datadog* Claudel© CircleChOCTLLYC All Bookmarks |Platform Team88Q Sear$ Jy-12249 / ₴ JY-19967|READY FUpgrade Python and libraries - AprReworkPhase:NudgesCOST-EBacklogv Descriptionhttps://github.com/jiminny/prephet/security/dependabet5 •0A JY-2|SubtasksAdd subtaskInvesticwhy exFontawMAINTIReady fe1 nLinked work itemsAdd linked work itemJY-2ActivityAllComments|HistoryWork logAI Repepage dipromotAJ REPSBacklog6 .Add a comment...Status update…Thanks…Agree….[) JY-2Send email10:01 AM | Daily - PlatformSộ3In Dev v* Improve Technical StoryDetails|Assigneef Stellyan GeorgievAssign to meReporter& Stefka StoyanovaDevelopmentPop out this video@ Open with V5 branches13 commitss meet.google.comA Nikolay Yankov (You, prese.4 pull requests4 buildsReleasesA› ProductionSee all deploy100% <478• Fri 17 Apr 10:01:31=Steliyan GeorgievNikolay Nikolov3 othersNikolay YankovLukas Kovalik15:39...
|
NULL
|
|
24482
|
531
|
40
|
2026-04-15T12:22:54.067616+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776255774067_m2.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
p! Western Digital Red Plus 3.5 6TB 5400rpm 256MB p! Western Digital Red Plus 3.5 6TB 5400rpm 256MB SAiSl I SeneticТвърд диск, Western Digital Red 6TB Plus ( 3.5". 256N* SQLite Web: db.sqlitew Screenpipe DashboardV Welcome to Steam— New |aoViewWindowHelp• Not Secure | [URL_WITH_CREDENTIALS] ~/.screenpipe $ ls~/.screenpipe/data/ | head -20datapending-transcriptionsscreenplpe.aolukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls~/.screenpipe/data/$(Is ~/.screenpipe/data/ | head -1)/ | head -302026-04-09909k2Show moreRun a few more to complete the picture:bash# What's in one day's folder1s ~/. screenpipe/data/data/2026-04-15/ | head -40# ToLat sire oi JPo vo lipafind -/. screnpipe/data -nane "x. Jpg" -exec du =c (3 + 22/dev/null | tatl -1find ~/.screenpipe/data -name "*.mp4" -exec du -c {} + 2>/dev/null | tail# Sample filenames to understand naming pattern1s ~/.screenpipe/data/data/2026-04-15/ | head -20# One more query - sample ocr_text correctlysqlite3 ~/.screenpipe/db.sqlite "SELECT o. frame_id, o.app_name, o.window_name, o. focused,substr(o.text, 1, 120) as text_previewFROM ocr_text oORDER BY o.frame_id DESCLIMIT 5;# And frames samplesqlite3 ~/.screenpipe/db.sqlite "SELECT id, timestamp, app_name, window_name, snapshot_path,capuure criecer, texc source, content nashFROM framesORDER BY id DESCLIMIT 5;Reply...+Sonnet 46 vclaude is Al and can make mistakes. rlease double-cneck responses....
|
NULL
|
9090586773615280543
|
NULL
|
click
|
ocr
|
NULL
|
p! Western Digital Red Plus 3.5 6TB 5400rpm 256MB p! Western Digital Red Plus 3.5 6TB 5400rpm 256MB SAiSl I SeneticТвърд диск, Western Digital Red 6TB Plus ( 3.5". 256N* SQLite Web: db.sqlitew Screenpipe DashboardV Welcome to Steam— New |aoViewWindowHelp• Not Secure | [URL_WITH_CREDENTIALS] ~/.screenpipe $ ls~/.screenpipe/data/ | head -20datapending-transcriptionsscreenplpe.aolukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ls~/.screenpipe/data/$(Is ~/.screenpipe/data/ | head -1)/ | head -302026-04-09909k2Show moreRun a few more to complete the picture:bash# What's in one day's folder1s ~/. screenpipe/data/data/2026-04-15/ | head -40# ToLat sire oi JPo vo lipafind -/. screnpipe/data -nane "x. Jpg" -exec du =c (3 + 22/dev/null | tatl -1find ~/.screenpipe/data -name "*.mp4" -exec du -c {} + 2>/dev/null | tail# Sample filenames to understand naming pattern1s ~/.screenpipe/data/data/2026-04-15/ | head -20# One more query - sample ocr_text correctlysqlite3 ~/.screenpipe/db.sqlite "SELECT o. frame_id, o.app_name, o.window_name, o. focused,substr(o.text, 1, 120) as text_previewFROM ocr_text oORDER BY o.frame_id DESCLIMIT 5;# And frames samplesqlite3 ~/.screenpipe/db.sqlite "SELECT id, timestamp, app_name, window_name, snapshot_path,capuure criecer, texc source, content nashFROM framesORDER BY id DESCLIMIT 5;Reply...+Sonnet 46 vclaude is Al and can make mistakes. rlease double-cneck responses....
|
NULL
|
|
38834
|
790
|
74
|
2026-04-16T13:22:04.747049+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-16/1776 /Users/lukas/.screenpipe/data/data/2026-04-16/1776345724747_m1.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+SlackFileEditViewEDHomeDMsActivityFilesLater..•Mo +SlackFileEditViewEDHomeDMsActivityFilesLater..•More+Jiminny ...w Starred& jiminny-x-integrati...8platform-inner-teamChannels# ai-chapter# alerts# backend# confusion-clinic# curiosity_lab# engineering# frontend# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages0. Nikolay Nikolov. Stoyan TanevG. Vasil Vasilev. Galya Dimitrovaal MikalavlanavGoHistoryWindowHelp→CSearch Jiminny Inc*& platform-inner-...& 10MessagesP Channel OverviewMore v+create PDF verToday ~ uest_id: 822fa41b-afd3-43a9-a248-ooDue36f3131: (2013, 'Lostconnection to MySQL server during query([Errno 104] Connection reset by peer)"):correlation_id:ae2e38ff-ed04-401e-b77c-1e02e9d788c6 trace_id:f0194348-cece-4ca8-8413-21e32eef1d4f[2026-04-13 01:09:56] app.ERROR: Failed tocreate PDF version for request_id: 822fa41b-afd3-43a9-a248-86b0e36f3131: (2013, 'Lostconnection to MySQL server during query([Errno 104] Connection reset by peer)"):correlation_id:ae2e38ff-ed04-401e-b77c-1e02e9d788c6 trace_id:f0194348-cece-4ca8-8413-21e32eef1d4fecs/jiminny-prophet/fbd19ab3fe8d4775bb936af467904a55някакво connectivity ишу с MySql изглеждаSteliyan Georgiev 12:53 PMно това е само 1 случай2 replies Last reply today at 1:02 PMNewSteliyan Georgiev 4:09 PMМоже ли едно малко ревю на един ПР,който вече го прецизирах с @claude ревюhttps://github.com/jiminny/prophet/pull/479Message & platform-inner-team+Aa@ .••*3>0 lbl-zsh100% <478Thu 16 Apr 16:22:04• $84-zsh85window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE "%Boostwindow_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE '%Boostwindow_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE "%Boostwindow_name FROM ocr_text WHERE app_name LIKE "%Safari%" OR window_name LIKE '%Boostit DATETIME);...
|
NULL
|
9090414260259370613
|
NULL
|
click
|
ocr
|
NULL
|
+SlackFileEditViewEDHomeDMsActivityFilesLater..•Mo +SlackFileEditViewEDHomeDMsActivityFilesLater..•More+Jiminny ...w Starred& jiminny-x-integrati...8platform-inner-teamChannels# ai-chapter# alerts# backend# confusion-clinic# curiosity_lab# engineering# frontend# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages0. Nikolay Nikolov. Stoyan TanevG. Vasil Vasilev. Galya Dimitrovaal MikalavlanavGoHistoryWindowHelp→CSearch Jiminny Inc*& platform-inner-...& 10MessagesP Channel OverviewMore v+create PDF verToday ~ uest_id: 822fa41b-afd3-43a9-a248-ooDue36f3131: (2013, 'Lostconnection to MySQL server during query([Errno 104] Connection reset by peer)"):correlation_id:ae2e38ff-ed04-401e-b77c-1e02e9d788c6 trace_id:f0194348-cece-4ca8-8413-21e32eef1d4f[2026-04-13 01:09:56] app.ERROR: Failed tocreate PDF version for request_id: 822fa41b-afd3-43a9-a248-86b0e36f3131: (2013, 'Lostconnection to MySQL server during query([Errno 104] Connection reset by peer)"):correlation_id:ae2e38ff-ed04-401e-b77c-1e02e9d788c6 trace_id:f0194348-cece-4ca8-8413-21e32eef1d4fecs/jiminny-prophet/fbd19ab3fe8d4775bb936af467904a55някакво connectivity ишу с MySql изглеждаSteliyan Georgiev 12:53 PMно това е само 1 случай2 replies Last reply today at 1:02 PMNewSteliyan Georgiev 4:09 PMМоже ли едно малко ревю на един ПР,който вече го прецизирах с @claude ревюhttps://github.com/jiminny/prophet/pull/479Message & platform-inner-team+Aa@ .••*3>0 lbl-zsh100% <478Thu 16 Apr 16:22:04• $84-zsh85window_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE "%Boostwindow_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE '%Boostwindow_name FROM ocr_text WHERE app_name LIKE "%Safari%' OR window_name LIKE "%Boostwindow_name FROM ocr_text WHERE app_name LIKE "%Safari%" OR window_name LIKE '%Boostit DATETIME);...
|
38832
|
|
13073
|
285
|
1
|
2026-04-14T12:02:35.928179+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776168155928_m2.jpg...
|
PhpStorm
|
faVsco.js – console [STAGING]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
1 file committed
JY-18909 modify send automated re 1 file committed
JY-18909 modify send automated report command to support immediate send for specific result
text/html
text/html
text/html
Edit Commit Message…
Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
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
17
15
13
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE id = 1;
select * from crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 283;
SELECT * FROM crm_fields WHERE id = 2234;
SELECT * FROM crm_field_values WHERE crm_field_id = 2234;
select * from crm_profiles where user_id = 143;
select * from record_types where crm_configuration_id = 39; # 0121K000001MHElQAO,0121K000001MHEqQAO
select * from business_processes where crm_configuration_id = 39;
# 01941000000H669AAC, 01941000000H66JAAS
select * from record_type_field_values
where record_type_id IN (24);
select * from crm_field_values where id IN (2730);
select * from crm_configurations where id = 39;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 1
and sa.provider = 'salesforce'; #1035
select * from users where team_id = 1; # 222 group 3
SELECT * FROM activities WHERE user_id = 222 order by id desc;
select * from sidekick_settings where team_id = 1;
select * from teams where id = 1;
select * from team_features where team_id = 1;
select * from activities where crm_configuration_id = 2
and provider = 'ms-teams' and id = 608765;
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id = '59523413338';
select * from sidekick_settings where team_id = 2;
SELECT * FROM activities WHERE id = 608660;
select * from activity_summary_logs where activity_id = 608660;
select * from ai_prompts where transcription_id = 11214;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('ed78a437-2804-450e-ab2f-56ab1c641346') = uuid;
# id: 608818, crm: 59628809737
SELECT * FROM activities WHERE uuid_to_bin('36b06e55-afdd-4782-8dee-c624cd0af191') = uuid;
# id: 608821, crm: 59632069252
SELECT ce.start_time, ce.end_time, a.id, a.uuid, crm_provider_id, calendar_event_id, title,
playbook_category_id, user_id, lead_id, contact_id, account_id, opportunity_id,
scheduled_start_time, scheduled_end_time, actual_start_time, actual_end_time, a.created_at
FROM activities a
join calendar_events ce on a.calendar_event_id = ce.id
WHERE a.id IN (608818, 608821);
select * from users where team_id = 1;
select * from team_settings where team_id = 1;
select * from crm_profiles where crm_configuration_id = 39 order by user_id;
select * from team_features where team_id = 1;
select * from users where team_id = 2;
SELECT * FROM activities WHERE uuid_to_bin('ec7647e9-5225-458b-b475-f31aa2769204') = uuid; # 612639
# Preslava N. Ivanova, grou id 3
SELECT * FROM opportunities WHERE uuid_to_bin('a2928fe5-aec5-46cb-85d9-7654c89e46a6') = uuid;
select * from activities where opportunity_id = 344 and actual_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00';
select
a.id,
a.type,
a.scheduled_start_time,
a.actual_start_time,
a.created_at,
a.opportunity_id,
a.status
FROM activities a
WHERE opportunity_id = 344
and status IN ('completed', 'received', 'delivered')
and (
(a.actual_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00')
OR (a.created_at between '2024-10-11 00:00:00' and '2024-10-12 00:00:00')
OR (a.scheduled_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00'))
;
SELECT * FROM users WHERE id = 222;
SELECT * FROM crm_profiles WHERE user_id = 222;
select * from crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 281;
select * from group_deal_risk_types;
select * from opportunities where team_id = 1;
SELECT * FROM opportunities WHERE id = 315;
SELECT * FROM crm_field_data WHERE object_id = 315;
select * from crm_field_data where object_id = 260;
select * from generic_ai_prompts where subject_id = 315;
select * from teams; # 36, 21, 121, [EMAIL]
SELECT * FROM social_accounts WHERE sociable_id = 121 and provider = 'bullhorn';
# [PASSWORD_DOTS]
select * from teams where id = 1;
select * from crm_configurations where id = 39;
select * from users where team_id = 1;
select u.email, cp.* from users u
join crm_profiles cp on u.id = cp.user_id
where u.team_id = 1;
# 1 - 00541000004281rAAA
# 204 - 0052g000003freeAAA
# 429 - 0052g000003qGOiAAM
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 1
and sa.provider = 'salesforce';
select * from activities where type = 'softphone'
and created_at > '2024-12-11 15:24:36' order by id desc;
select * from activity_providers where team_id = 1;
select * from activity_provider_users where activity_provider_id = 328;
select * from opportunities where crm_configuration_id = 39
AND account_id = 178 AND is_closed = false
order by created_at DESC;
select * from contacts where id = 3952;
select * from accounts where id = 178;
# [PASSWORD_DOTS]
select * from teams where id = 36;
select * from crm_configurations where id = 21;
select * from users where team_id = 36;
select u.email, cp.* from users u
join crm_profiles cp on u.id = cp.user_id
where u.team_id = 36;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 36
and sa.provider = 'bullhorn';
select * from social_accounts where id = 348;
UPDATE social_accounts SET
provider_user_token = '21442_6802599_91:41179a58-21e7-4d7c-ad58-56bb666b2f65',
provider_refresh_token = '21442_6802599_91:01c6b335-3f2a-42e4-85ff-8a08fa65fceb',
expires = 1733998131,
state = 'connected'
WHERE id = 348;
# [PASSWORD_DOTS]
select * from teams where id = 31;
select * from crm_configurations where id = 18;
select * from users where team_id = 31; # 257
select u.email, cp.* from users u
join crm_profiles cp on u.id = cp.user_id
where u.team_id = 31;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 31
and sa.provider = 'close';
select * from contacts where crm_configuration_id = 18;
# [PASSWORD_DOTS] NEPTUNE [PASSWORD_DOTS]
select * from teams;
select * from users where id IN (1030, 1035, 1052);
select * from crm_configurations;
select * from users where team_id = 65; # 257
select * from team_settings where team_id = 65; # 257
select * from invitations where team_id = 65; # 257
select * from users where email = '[EMAIL]'; # 257
select u.email, cp.* from users u
join crm_profiles cp on u.id = cp.user_id
where u.team_id = 65;
select * from crm_configurations where id = 53;
select * from accounts where crm_configuration_id = 53 order by id desc;
select * from leads where crm_configuration_id = 53 order by id desc;
select * from contacts where crm_configuration_id = 53 order by id desc;
select * from opportunities where crm_configuration_id = 53 order by id desc;
select * from crm_profiles where crm_configuration_id = 53 order by id desc;
select * from crm_fields where crm_configuration_id = 53 order by id desc;
select * from crm_field_values where crm_field_id = 3341 order by id desc;
select * from crm_layouts where crm_configuration_id = 53 order by id desc;
select * from stages where crm_configuration_id = 53 order by id desc;
select * from crm_profiles where crm_configuration_id = 13;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 65
and sa.provider = 'integration-app';
select * from contacts where crm_configuration_id = 13;
select * from social_accounts where sociable_id = 283;
SELECT * FROM opportunities WHERE crm_provider_id = '006O400000E9bzeIAB';
select * from activity_providers where team_id = 65;
SELECT * FROM activities WHERE crm_configuration_id IN (51, 52, 53);
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 65
;
# [PASSWORD_DOTS] STAGING [PASSWORD_DOTS]
SELECT * FROM teams;
SELECT * FROM teams WHERE id = 88;
SELECT * FROM teams WHERE id = 89;
select * from team_settings where team_id = 89;
SELECT * FROM users WHERE team_id = 89;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 89;
select * from users;
SELECT * FROM social_accounts WHERE sociable_id = 1761;
SELECT * FROM crm_configurations WHERE id = 70;
select * from accounts where crm_configuration_id = 70 order by id desc;
select * from leads where crm_configuration_id = 70 order by id desc;
select * from contacts where crm_configuration_id = 70 order by id desc;
select * from opportunities where crm_configuration_id = 70 order by id desc;
select * from crm_profiles where crm_configuration_id = 70 order by id desc;
select * from crm_fields where crm_configuration_id = 70 order by id desc;
select * from crm_field_values where crm_field_id = 3536 order by id desc;
select * from crm_layouts where crm_configuration_id = 70 order by id desc;
select * from stages where crm_configuration_id = 70 order by id desc;
select * from business_processes where crm_configuration_id = 70 order by id desc;
select * from business_process_stages where business_process_id = 34;
select * from contacts where id = 10468;
select * from crm_layouts where crm_configuration_id = 70;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 388;
SELECT * FROM crm_fields WHERE id IN (3533,3534,3535);
select * from activities where crm_configuration_id = 70
and (account_id IS NOT NULL or lead_id IS NOT NULL or contact_id IS NOT NULL or opportunity_id IS NOT NULL) order by id desc;
SELECT * FROM activities WHERE uuid_to_bin('2e10b60f-8a61-41c5-a3d4-28835353dc65') = uuid;
SELECT * FROM activities where crm_configuration_id = 69 ;
SELECT * FROM users WHERE email LIKE '%[EMAIL]%';
SELECT * FROM activities WHERE uuid_to_bin('5a150c93-40fc-42ec-b3bd-c1d328e09f6e') = uuid;
SELECT * FROM opportunities WHERE id = 385;
select * from participants p
join activities a on p.activity_id = a.id
where a.crm_configuration_id = 70
and (p.lead_id IS NOT NULL or p.contact_id IS NOT NULL);
SELECT * FROM participants WHERE id = 1013638;
select * from teams where id = 90;
select * from users where team_id = 90;
select * from social_accounts where social_accounts.sociable_id IN (1960,1760);
SELECT * FROM crm_profiles WHERE crm_configuration_id = 71;
select * from invitations where team_id = 90;
select * from crm_configurations where id = 71;
select * from accounts where crm_configuration_id = 71 order by id desc;
select * from leads where crm_configuration_id = 71 order by id desc;
select * from contacts where crm_configuration_id = 71 order by id desc;
select * from opportunities where crm_configuration_id = 71 order by id desc;
select * from crm_profiles where crm_configuration_id = 71 order by id desc;
select * from crm_fields where crm_configuration_id = 71 order by id desc;
select * from crm_field_values where crm_field_id = 3341 order by id desc;
select * from crm_layouts where crm_configuration_id = 71 order by id desc;
select * from stages where crm_configuration_id = 71 order by id desc;
select * from users order by secondary_email desc;
select u.id, u.email, u.status, sa.id, sa.provider_user_id from social_accounts sa
join users u on sa.sociable_id = u.id
where sa.provider = 'google' and u.email LIKE 'aneliya%';
select * from failed_jobs order by id desc;
select * from users where email = '[EMAIL]' or secondary_email = '[EMAIL]';
select * from teams;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 39;
SELECT * FROM crm_fields WHERE crm_configuration_id = 39 and object_type = 'task';
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 1
and sa.provider = 'salesforce';
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('c38b3895-fd0f-4b1f-9fb2-c170dba137c6') = uuid;
SELECT * FROM crm_configurations WHERE id = 70;
select * from teams where id = 1;
select * from groups where team_id = 1;
select * from users where team_id = 1;
select o.id, o.name,o.close_date, u.id, u.name, u.group_id, r.id, r.display_name, g.name, g.scope from opportunities o
join users u on o.user_id = u.id
join groups g on u.group_id = g.id
join role_user ru on u.id = ru.user_id
join roles r on ru.role_id = r.id
where o.crm_configuration_id = 39 and close_date > '2024-01-01 00:00:00';
select * from role_user where user_id = 143;
select * from roles;
select * from role_user;
select * from groups where id = 9;
select * from scope_groups where group_id = 9;
# [PASSWORD_DOTS]
select * from teams where id = 36;
select * from crm_configurations;
SELECT * FROM social_accounts WHERE sociable_id = 121;
https://crmsandbox.zoho.com/crm/jiminnyw4/tab/Leads/4776201000005049105
https://crmsandbox.zoho.com/crm/
https://crm.zoho.com/crm/org3469620/tab/Leads/230045000229559080
https://crm.zoho.com/crm/
org3469620
SELECT * FROM activities WHERE uuid_to_bin('03382d20-c8bc-48e7-a3d4-90b52fa5ceab') = uuid;
select * from users where email LIKE "%mobile_automation_%";
select * from social_accounts where sociable_id IN (2228);
select * from crm_profiles where user_id IN (2222,2223,2226,2227);
select * from teams order by id desc;
SELECT * FROM users WHERE id = 2229;
SELECT * FROM crm_profiles WHERE user_id = 2229;
select * from opportunities where crm_configuration_id = 88;
select * from crm_fields where crm_configuration_id = 88;
select * from crm_profiles where crm_configuration_id = 88;
SELECT * FROM teams WHERE id = 1;
SELECT * FROM users WHERE id = 143;
SELECT * FROM users WHERE uuid_to_bin('fde193d3-06a2-4e1a-8895-62b94039215d') = uuid;
SELECT * FROM teams WHERE uuid_to_bin('73385071-a756-42ae-9c73-8b53f2309467') = uuid;
https://app.staging.jiminny.com/ondemand?
min_duration=1
&
only_recorded=1
&
user_id%5B%5D=641f1acb-16b8-42d1-8726-df52979dad0e
&
sequence_number=2
select * from users where team_id = 1 and email like '%stoyan%'
select * from coaching_feedbacks;
select * from teams;
SELECT * FROM users WHERE team_id = 36;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 19
and sa.provider = 'pipedrive';
select * from users where id = 143;
SELECT * FROM users WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;
SELECT * FROM teams WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;
SELECT * FROM activity_shares WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;
select * from users where team_id = 2;
select * from activities where crm_configuration_id = 39
and activities.scheduled_start_time BETWEEN '2025-04-09 00:00:00' AND '2025-04-09 23:59:59'
AND user_id = 143
order by id desc;
# [PASSWORD_DOTS]
select * from teams where id = 142; # 2312, 126
select * from team_settings;
select * from users where team_id = 142; # 21642
SELECT * FROM social_accounts WHERE sociable_id = 21642;
SELECT * FROM crm_profiles cp join users u ON u.id = cp.user_id WHERE team_id = 142;
select * from crm_profiles where id IN (93);
select * from invitations;
select * from team_features where team_id = 1;
SELECT * FROM crm_configurations WHERE id = 126;
select * from accounts where crm_configuration_id = 126 order by id desc;
select * from leads where crm_configuration_id = 126 order by id desc;
select * from contacts where crm_configuration_id = 126 order by id desc;
select * from opportunities where crm_configuration_id = 126 order by id desc;
select * from crm_profiles where crm_configuration_id = 126 order by id desc;
select * from crm_fields where crm_configuration_id = 126 # 11060
# and type IN ('picklist', 'status')
# and object_type = 'task'
order by id desc;
# 5731,5732,5733
select DISTINCT crm_field_id from crm_field_values where crm_field_id IN (11151,12239,12215,12185,12175,12165,12144,12137,12127,12109,12107,12105,12103,12092,12037,12005,12003,11987,11969,11958,11951,11942,11931,11924,11921,11917,11915,11901,11893,11883,11872,11870,11868,11866,11839,11833,11821,11793,11780,11777,11769,11757,11737,11735,11656,11645,11638,11629,11618,11611,11602,11591,11584,11581,11558,11544,11543,11534,11532,11529,11527,11503,11497,11493,11488,11470,11468,11457,11455,11397,11387,11372,11363,11348,11323,11318,11309,11301,11300,11292,11290,11286,11284,11256,11252,11242,11237,11233,11219,11176,11160) order by id desc;
select * from crm_layouts where crm_configuration_id = 126 order by id desc;
SELECT * FROM crm_layout_entities WHERE crm_layout_id in (300,299,298);
select * from stages where crm_configuration_id = 126 order by id desc;
select * from business_processes where crm_configuration_id = 126 order by id desc;
select * from business_process_stages where business_process_id IN (76,75,74,73);
select * from playbooks where team_id = 142;
select * from playbook_layouts where playbook_id IN (108);
SELECT * FROM playbook_categories WHERE playbook_id IN (108);
select * from teams where id = 130;
SELECT * FROM social_accounts WHERE sociable_id = 2291;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 2
and sa.provider = 'hubspot';
SELECT * FROM activities
WHERE crm_configuration_id = 110;
select * from teams;
select * from crm_configurations;
SELECT * FROM activities WHERE id = 628773;
SELECT * FROM crm_profiles WHERE user_id = 1460;
SELECT * FROM social_accounts WHERE sociable_id = 2291;
select * from teams;
select ru.*, pr.*, p.* from users u join role_user ru on ru.user_id = u.id
join permission_role pr on pr.role_id = ru.role_id
join permissions p on p.id = pr.permission_id
where team_id = 495 and p.name IN ('dial');
select * from teams where id = 145;
select * from crm_configurations where id = 129;
select * from social_accounts where sociable_id = 2317;
SELECT * FROM activities WHERE uuid_to_bin('8dbab184-a333-4268-ad57-fb41f8d53a9a') = uuid;
select * from teams where id = 1;
SELECT * FROM crm_layouts WHERE crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 280;
SELECT * FROM crm_layout_entities WHERE id = 5507;
SELECT * FROM crm_fields WHERE crm_configuration_id = 39 and object_type IN ('event');
select * from teams;
select * from activities where crm_configuration_id = 14;
SELECT * FROM social_accounts where provider = 'copper';
select * from activities where id = 628467;
select * from participants where activity_id = 628467;
SELECT * FROM contacts WHERE id = 3969;
SELECT * FROM accounts WHERE id = 177;
SELECT * FROM activities WHERE uuid_to_bin('4eb54c77-cfa3-2bd4-84a7-9ed46a21c988') = uuid;
# [PASSWORD_DOTS] BH
select * from teams where id = 36;
SELECT * FROM crm_configurations WHERE id = 21;
select * from activities where crm_configuration_id = 21 and id = 607901;
select * from activities where crm_configuration_id = 21;
select * roles;
select * from permissions;
select * from permission_role where permission_id = 226;
select * from migrations order by id desc;
# mercury
# neptune
# earth
select * from teams;
select * from teams where id = 19;
select * from teams where id = 27;
select * from users where team_id = 27;
SELECT * FROM crm_configurations WHERE id = 42;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 19
and sa.provider = 'pipedrive';
select * from activities where id = 631461;
SELECT * FROM crm_field_values WHERE crm_field_id = 180;
select * from teams where id = 2;
SELECT * FROM social_accounts WHERE sociable_id = 89;
SELECT * FROM activities WHERE uuid_to_bin('ba0c029a-bc14-4e17-8603-64174acebcbb') = uuid; # 634273
select * from activity_summary_logs where activity_id = 634273;
select * from sidekick_settings where team_id = 2;
select * from teams; # 2, 2
SELECT * FROM crm_configurations WHERE team_id = 2; # 2
select * from team_features where team_id = 2;
select * from features;
SELECT * FROM opportunities WHERE crm_configuration_id = 2 and crm_provider_id = '51317301383';
SELECT * FROM opportunities WHERE crm_configuration_id = 2 order by id desc;
select * from automated_reports order by id desc;
select * from automated_report_results order by id desc;
select * from users where team_id = 1 and id IN (7160, 3248);
select * from migrations order by 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 = 1 and sa.provider = 'salesforce';
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 565;
select * from playbooks where team_id = 1;
select * from playbooks where id = 175;
select * from playbook_categories where playbook_id = 175;
select * from users where team_id = 1;
select * from users where id = 7160;
select * from crm_profiles where user_id = 7160;
select * from features;
select
*
# id, uuid, type, provider, playbook_category_id, user_id, lead_id, contact_id, account_id, opportunity_id, stage_id,
# crm_configuration_id, crm_provider_id, transcription_id, status
from activities where crm_configuration_id = 1 and type = 'conference'
# and crm_provider_id IS NOT NULL
and provider != 'uploader' and actual_start_time IS NOT NULL
ORDER by id desc;
select * from activities where id = 54747783; # 00UO400000pCzojMAC
select p.id, p.activity_type, pc.id, pc.name
FROM playbooks p
join playbook_categories pc on p.id = pc.playbook_id
where p.team_id = 1 and p.activity_type = 'event';
SELECT * FROM crm_fields WHERE crm_configuration_id = 1 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id = 4;
select * from crm_layouts cl join playbook_layouts pl on cl.id = pl.layout_id
where crm_configuration_id = 1 and pl.playbook_id = 175;
select * from teams;
SELECT r.* FROM automated_reports r
join teams t on r.team_id = t.id
WHERE r.frequency = 'daily'
and r.status = 1
AND t.status = 'active'
AND (r.expires_at >= now() OR r.expires_at IS NULL);
select * from automated_report_results where report_id IN (18, 33);
select * from activity_searches where id = 10932;
select * from activity_search_filters where activity_search_id = 10932;
select * from automated_reports order by id desc;
select * from automated_report_results order by id desc;
select * from automated_report_results where report_id IN (36);
Sync Changes
Hide This Notification...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"1 file committed","depth":2,"bounds":{"left":0.8535156,"top":0.9125,"width":0.11796875,"height":0.011805556},"role_description":"text"},{"role":"AXTextField","text":"JY-18909 modify send automated report command to support immediate send for specific result","depth":3,"bounds":{"left":0.8535156,"top":0.92638886,"width":0.1296875,"height":0.023611112},"value":"JY-18909 modify send automated report command to support immediate send for specific result","help_text":"text/html","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"text/html","depth":4,"help_text":"text/html","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"text/html","depth":4,"bounds":{"left":0.8535156,"top":0.92638886,"width":0.119140625,"height":0.035416666},"help_text":"text/html","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"text/html","depth":4,"help_text":"text/html","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Edit Commit Message…","depth":2,"bounds":{"left":0.8535156,"top":0.9548611,"width":0.056640625,"height":0.011805556},"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.03046875,"top":0.017361112,"width":0.0453125,"height":0.022222223},"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"bounds":{"left":0.07578125,"top":0.017361112,"width":0.14257812,"height":0.022222223},"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.78515625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"bounds":{"left":0.803125,"top":0.017361112,"width":0.09765625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9007813,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9140625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9273437,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96015626,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9734375,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9867188,"top":0.017361112,"width":0.013281226,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Execute","depth":4,"bounds":{"left":0.565625,"top":0.06458333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Explain Plan","depth":4,"bounds":{"left":0.5757812,"top":0.06458333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Browse Query History","depth":4,"bounds":{"left":0.58867186,"top":0.06458333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View Parameters","depth":4,"bounds":{"left":0.59882814,"top":0.06458333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open Query Execution Settings…","depth":4,"bounds":{"left":0.60898435,"top":0.06458333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"In-Editor Results","depth":4,"bounds":{"left":0.621875,"top":0.06458333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tx: Auto","depth":4,"bounds":{"left":0.6347656,"top":0.06458333,"width":0.028515626,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Cancel Running Statements","depth":4,"bounds":{"left":0.6660156,"top":0.06458333,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Playground","depth":4,"bounds":{"left":0.67890626,"top":0.06458333,"width":0.034765624,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"jiminny","depth":4,"bounds":{"left":0.9515625,"top":0.06458333,"width":0.033203125,"height":0.016666668},"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.23320313,"top":1.0,"width":0.01015625,"height":0.0},"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.23320313,"top":1.0,"width":0.01015625,"height":0.0},"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.23320313,"top":1.0,"width":0.049609374,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Hide","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"17","depth":4,"bounds":{"left":0.92929685,"top":0.08611111,"width":0.0109375,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"15","depth":4,"bounds":{"left":0.94257814,"top":0.08611111,"width":0.011328125,"height":0.013194445},"role_description":"text"},{"role":"AXStaticText","text":"13","depth":4,"bounds":{"left":0.95625,"top":0.08611111,"width":0.011328125,"height":0.013194445},"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.96953124,"top":0.08472222,"width":0.00859375,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Highlighted Error","depth":4,"bounds":{"left":0.978125,"top":0.08472222,"width":0.008203125,"height":0.015972223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"SELECT * FROM teams WHERE id = 1;\n\nselect * from crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 283;\nSELECT * FROM crm_fields WHERE id = 2234;\nSELECT * FROM crm_field_values WHERE crm_field_id = 2234;\n\nselect * from crm_profiles where user_id = 143;\n\nselect * from record_types where crm_configuration_id = 39; # 0121K000001MHElQAO,0121K000001MHEqQAO\nselect * from business_processes where crm_configuration_id = 39;\n# 01941000000H669AAC, 01941000000H66JAAS\n\nselect * from record_type_field_values\n where record_type_id IN (24);\n\nselect * from crm_field_values where id IN (2730);\n\nselect * from crm_configurations where id = 39;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 1\nand sa.provider = 'salesforce'; #1035\n\n\nselect * from users where team_id = 1; # 222 group 3\nSELECT * FROM activities WHERE user_id = 222 order by id desc;\nselect * from sidekick_settings where team_id = 1;\nselect * from teams where id = 1;\nselect * from team_features where team_id = 1;\n\nselect * from activities where crm_configuration_id = 2\nand provider = 'ms-teams' and id = 608765;\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id = '59523413338';\n\nselect * from sidekick_settings where team_id = 2;\n\nSELECT * FROM activities WHERE id = 608660;\nselect * from activity_summary_logs where activity_id = 608660;\nselect * from ai_prompts where transcription_id = 11214;\n\n# ********************************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('ed78a437-2804-450e-ab2f-56ab1c641346') = uuid;\n# id: 608818, crm: 59628809737\nSELECT * FROM activities WHERE uuid_to_bin('36b06e55-afdd-4782-8dee-c624cd0af191') = uuid;\n# id: 608821, crm: 59632069252\nSELECT ce.start_time, ce.end_time, a.id, a.uuid, crm_provider_id, calendar_event_id, title,\nplaybook_category_id, user_id, lead_id, contact_id, account_id, opportunity_id,\nscheduled_start_time, scheduled_end_time, actual_start_time, actual_end_time, a.created_at\nFROM activities a\njoin calendar_events ce on a.calendar_event_id = ce.id\nWHERE a.id IN (608818, 608821);\n\nselect * from users where team_id = 1;\nselect * from team_settings where team_id = 1;\nselect * from crm_profiles where crm_configuration_id = 39 order by user_id;\n\nselect * from team_features where team_id = 1;\n\nselect * from users where team_id = 2;\n\nSELECT * FROM activities WHERE uuid_to_bin('ec7647e9-5225-458b-b475-f31aa2769204') = uuid; # 612639\n# Preslava N. Ivanova, grou id 3\n\nSELECT * FROM opportunities WHERE uuid_to_bin('a2928fe5-aec5-46cb-85d9-7654c89e46a6') = uuid;\n\nselect * from activities where opportunity_id = 344 and actual_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00';\n\nselect\n a.id,\n a.type,\n a.scheduled_start_time,\n a.actual_start_time,\n a.created_at,\n a.opportunity_id,\n a.status\nFROM activities a\nWHERE opportunity_id = 344\nand status IN ('completed', 'received', 'delivered')\nand (\n (a.actual_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00')\nOR (a.created_at between '2024-10-11 00:00:00' and '2024-10-12 00:00:00')\nOR (a.scheduled_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00'))\n;\n\nSELECT * FROM users WHERE id = 222;\n\nSELECT * FROM crm_profiles WHERE user_id = 222;\nselect * from crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 281;\n\nselect * from group_deal_risk_types;\n\nselect * from opportunities where team_id = 1;\n\nSELECT * FROM opportunities WHERE id = 315;\nSELECT * FROM crm_field_data WHERE object_id = 315;\nselect * from crm_field_data where object_id = 260;\n\nselect * from generic_ai_prompts where subject_id = 315;\n\nselect * from teams; # 36, 21, 121, james.graham@bullhorn.jiminny.com\nSELECT * FROM social_accounts WHERE sociable_id = 121 and provider = 'bullhorn';\n\n# ************************************************************************************\nselect * from teams where id = 1;\nselect * from crm_configurations where id = 39;\nselect * from users where team_id = 1;\nselect u.email, cp.* from users u\njoin crm_profiles cp on u.id = cp.user_id\nwhere u.team_id = 1;\n# 1 - 00541000004281rAAA\n# 204 - 0052g000003freeAAA\n# 429 - 0052g000003qGOiAAM\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 1\nand sa.provider = 'salesforce';\n\nselect * from activities where type = 'softphone'\nand created_at > '2024-12-11 15:24:36' order by id desc;\n\nselect * from activity_providers where team_id = 1;\nselect * from activity_provider_users where activity_provider_id = 328;\n\nselect * from opportunities where crm_configuration_id = 39\nAND account_id = 178 AND is_closed = false\norder by created_at DESC;\n\nselect * from contacts where id = 3952;\nselect * from accounts where id = 178;\n\n# ************************************************************************************\nselect * from teams where id = 36;\nselect * from crm_configurations where id = 21;\nselect * from users where team_id = 36;\nselect u.email, cp.* from users u\njoin crm_profiles cp on u.id = cp.user_id\nwhere u.team_id = 36;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 36\nand sa.provider = 'bullhorn';\n\nselect * from social_accounts where id = 348;\nUPDATE social_accounts SET\nprovider_user_token = '21442_6802599_91:41179a58-21e7-4d7c-ad58-56bb666b2f65',\nprovider_refresh_token = '21442_6802599_91:01c6b335-3f2a-42e4-85ff-8a08fa65fceb',\nexpires = 1733998131,\nstate = 'connected'\nWHERE id = 348;\n\n# ************************************************************************************\nselect * from teams where id = 31;\nselect * from crm_configurations where id = 18;\n\nselect * from users where team_id = 31; # 257\nselect u.email, cp.* from users u\njoin crm_profiles cp on u.id = cp.user_id\nwhere u.team_id = 31;\n\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 31\nand sa.provider = 'close';\n\nselect * from contacts where crm_configuration_id = 18;\n\n# ********************** NEPTUNE **************************************************************\nselect * from teams;\nselect * from users where id IN (1030, 1035, 1052);\nselect * from crm_configurations;\n\nselect * from users where team_id = 65; # 257\nselect * from team_settings where team_id = 65; # 257\nselect * from invitations where team_id = 65; # 257\nselect * from users where email = 'integration-account@jiminny.com'; # 257\nselect u.email, cp.* from users u\njoin crm_profiles cp on u.id = cp.user_id\nwhere u.team_id = 65;\n\nselect * from crm_configurations where id = 53;\nselect * from accounts where crm_configuration_id = 53 order by id desc;\nselect * from leads where crm_configuration_id = 53 order by id desc;\nselect * from contacts where crm_configuration_id = 53 order by id desc;\nselect * from opportunities where crm_configuration_id = 53 order by id desc;\nselect * from crm_profiles where crm_configuration_id = 53 order by id desc;\nselect * from crm_fields where crm_configuration_id = 53 order by id desc;\nselect * from crm_field_values where crm_field_id = 3341 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 53 order by id desc;\nselect * from stages where crm_configuration_id = 53 order by id desc;\n\n\nselect * from crm_profiles where crm_configuration_id = 13;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 65\nand sa.provider = 'integration-app';\n\nselect * from contacts where crm_configuration_id = 13;\n\nselect * from social_accounts where sociable_id = 283;\n\nSELECT * FROM opportunities WHERE crm_provider_id = '006O400000E9bzeIAB';\n\nselect * from activity_providers where team_id = 65;\nSELECT * FROM activities WHERE crm_configuration_id IN (51, 52, 53);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 65\n;\n\n# ***************************** STAGING ********************************************\nSELECT * FROM teams;\nSELECT * FROM teams WHERE id = 88;\nSELECT * FROM teams WHERE id = 89;\nselect * from team_settings where team_id = 89;\nSELECT * FROM users WHERE team_id = 89;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 89;\n\nselect * from users;\nSELECT * FROM social_accounts WHERE sociable_id = 1761;\nSELECT * FROM crm_configurations WHERE id = 70;\nselect * from accounts where crm_configuration_id = 70 order by id desc;\nselect * from leads where crm_configuration_id = 70 order by id desc;\nselect * from contacts where crm_configuration_id = 70 order by id desc;\nselect * from opportunities where crm_configuration_id = 70 order by id desc;\nselect * from crm_profiles where crm_configuration_id = 70 order by id desc;\nselect * from crm_fields where crm_configuration_id = 70 order by id desc;\nselect * from crm_field_values where crm_field_id = 3536 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 70 order by id desc;\nselect * from stages where crm_configuration_id = 70 order by id desc;\nselect * from business_processes where crm_configuration_id = 70 order by id desc;\nselect * from business_process_stages where business_process_id = 34;\n\nselect * from contacts where id = 10468;\n\nselect * from crm_layouts where crm_configuration_id = 70;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 388;\nSELECT * FROM crm_fields WHERE id IN (3533,3534,3535);\n\nselect * from activities where crm_configuration_id = 70\nand (account_id IS NOT NULL or lead_id IS NOT NULL or contact_id IS NOT NULL or opportunity_id IS NOT NULL) order by id desc;\n\nSELECT * FROM activities WHERE uuid_to_bin('2e10b60f-8a61-41c5-a3d4-28835353dc65') = uuid;\nSELECT * FROM activities where crm_configuration_id = 69 ;\n\nSELECT * FROM users WHERE email LIKE '%jiminny_web_sa2@jiminny.com%';\nSELECT * FROM activities WHERE uuid_to_bin('5a150c93-40fc-42ec-b3bd-c1d328e09f6e') = uuid;\nSELECT * FROM opportunities WHERE id = 385;\n\nselect * from participants p\njoin activities a on p.activity_id = a.id\nwhere a.crm_configuration_id = 70\nand (p.lead_id IS NOT NULL or p.contact_id IS NOT NULL);\nSELECT * FROM participants WHERE id = 1013638;\n\nselect * from teams where id = 90;\nselect * from users where team_id = 90;\nselect * from social_accounts where social_accounts.sociable_id IN (1960,1760);\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 71;\nselect * from invitations where team_id = 90;\n\nselect * from crm_configurations where id = 71;\nselect * from accounts where crm_configuration_id = 71 order by id desc;\nselect * from leads where crm_configuration_id = 71 order by id desc;\nselect * from contacts where crm_configuration_id = 71 order by id desc;\nselect * from opportunities where crm_configuration_id = 71 order by id desc;\nselect * from crm_profiles where crm_configuration_id = 71 order by id desc;\nselect * from crm_fields where crm_configuration_id = 71 order by id desc;\nselect * from crm_field_values where crm_field_id = 3341 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 71 order by id desc;\nselect * from stages where crm_configuration_id = 71 order by id desc;\n\nselect * from users order by secondary_email desc;\nselect u.id, u.email, u.status, sa.id, sa.provider_user_id from social_accounts sa\n join users u on sa.sociable_id = u.id\nwhere sa.provider = 'google' and u.email LIKE 'aneliya%';\n\nselect * from failed_jobs order by id desc;\n\nselect * from users where email = 'ben.allwright@learningpeople.co.uk' or secondary_email = 'ben.allwright@learningpeople.co.uk';\n\nselect * from teams;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 39;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 39 and object_type = 'task';\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 1\nand sa.provider = 'salesforce';\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('c38b3895-fd0f-4b1f-9fb2-c170dba137c6') = uuid;\nSELECT * FROM crm_configurations WHERE id = 70;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1;\nselect * from users where team_id = 1;\n\nselect o.id, o.name,o.close_date, u.id, u.name, u.group_id, r.id, r.display_name, g.name, g.scope from opportunities o\njoin users u on o.user_id = u.id\njoin groups g on u.group_id = g.id\njoin role_user ru on u.id = ru.user_id\njoin roles r on ru.role_id = r.id\nwhere o.crm_configuration_id = 39 and close_date > '2024-01-01 00:00:00';\n\nselect * from role_user where user_id = 143;\nselect * from roles;\n\nselect * from role_user;\nselect * from groups where id = 9;\nselect * from scope_groups where group_id = 9;\n\n# ************************************************************************************\nselect * from teams where id = 36;\nselect * from crm_configurations;\nSELECT * FROM social_accounts WHERE sociable_id = 121;\n\nhttps://crmsandbox.zoho.com/crm/jiminnyw4/tab/Leads/4776201000005049105\nhttps://crmsandbox.zoho.com/crm/\n\nhttps://crm.zoho.com/crm/org3469620/tab/Leads/230045000229559080\n https://crm.zoho.com/crm/\n org3469620\n\nSELECT * FROM activities WHERE uuid_to_bin('03382d20-c8bc-48e7-a3d4-90b52fa5ceab') = uuid;\n\nselect * from users where email LIKE \"%mobile_automation_%\";\nselect * from social_accounts where sociable_id IN (2228);\nselect * from crm_profiles where user_id IN (2222,2223,2226,2227);\n\nselect * from teams order by id desc;\nSELECT * FROM users WHERE id = 2229;\nSELECT * FROM crm_profiles WHERE user_id = 2229;\nselect * from opportunities where crm_configuration_id = 88;\nselect * from crm_fields where crm_configuration_id = 88;\nselect * from crm_profiles where crm_configuration_id = 88;\n\nSELECT * FROM teams WHERE id = 1;\n\nSELECT * FROM users WHERE id = 143;\nSELECT * FROM users WHERE uuid_to_bin('fde193d3-06a2-4e1a-8895-62b94039215d') = uuid;\nSELECT * FROM teams WHERE uuid_to_bin('73385071-a756-42ae-9c73-8b53f2309467') = uuid;\n\nhttps://app.staging.jiminny.com/ondemand?\n min_duration=1\n &\n only_recorded=1\n &\n user_id%5B%5D=641f1acb-16b8-42d1-8726-df52979dad0e\n &\n sequence_number=2\n\n select * from users where team_id = 1 and email like '%stoyan%'\n\nselect * from coaching_feedbacks;\n\nselect * from teams;\nSELECT * FROM users WHERE team_id = 36;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 19\nand sa.provider = 'pipedrive';\n\nselect * from users where id = 143;\n\nSELECT * FROM users WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;\nSELECT * FROM teams WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;\nSELECT * FROM activity_shares WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;\n\nselect * from users where team_id = 2;\nselect * from activities where crm_configuration_id = 39\nand activities.scheduled_start_time BETWEEN '2025-04-09 00:00:00' AND '2025-04-09 23:59:59'\nAND user_id = 143\norder by id desc;\n\n# ************************************************************************************\nselect * from teams where id = 142; # 2312, 126\nselect * from team_settings;\nselect * from users where team_id = 142; # 21642\nSELECT * FROM social_accounts WHERE sociable_id = 21642;\nSELECT * FROM crm_profiles cp join users u ON u.id = cp.user_id WHERE team_id = 142;\nselect * from crm_profiles where id IN (93);\nselect * from invitations;\nselect * from team_features where team_id = 1;\n\nSELECT * FROM crm_configurations WHERE id = 126;\nselect * from accounts where crm_configuration_id = 126 order by id desc;\nselect * from leads where crm_configuration_id = 126 order by id desc;\nselect * from contacts where crm_configuration_id = 126 order by id desc;\nselect * from opportunities where crm_configuration_id = 126 order by id desc;\nselect * from crm_profiles where crm_configuration_id = 126 order by id desc;\nselect * from crm_fields where crm_configuration_id = 126 # 11060\n# and type IN ('picklist', 'status')\n# and object_type = 'task'\norder by id desc;\n# 5731,5732,5733\nselect DISTINCT crm_field_id from crm_field_values where crm_field_id IN (11151,12239,12215,12185,12175,12165,12144,12137,12127,12109,12107,12105,12103,12092,12037,12005,12003,11987,11969,11958,11951,11942,11931,11924,11921,11917,11915,11901,11893,11883,11872,11870,11868,11866,11839,11833,11821,11793,11780,11777,11769,11757,11737,11735,11656,11645,11638,11629,11618,11611,11602,11591,11584,11581,11558,11544,11543,11534,11532,11529,11527,11503,11497,11493,11488,11470,11468,11457,11455,11397,11387,11372,11363,11348,11323,11318,11309,11301,11300,11292,11290,11286,11284,11256,11252,11242,11237,11233,11219,11176,11160) order by id desc;\nselect * from crm_layouts where crm_configuration_id = 126 order by id desc;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id in (300,299,298);\nselect * from stages where crm_configuration_id = 126 order by id desc;\nselect * from business_processes where crm_configuration_id = 126 order by id desc;\nselect * from business_process_stages where business_process_id IN (76,75,74,73);\nselect * from playbooks where team_id = 142;\nselect * from playbook_layouts where playbook_id IN (108);\nSELECT * FROM playbook_categories WHERE playbook_id IN (108);\n\nselect * from teams where id = 130;\nSELECT * FROM social_accounts WHERE sociable_id = 2291;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 2\nand sa.provider = 'hubspot';\n\nSELECT * FROM activities\n WHERE crm_configuration_id = 110;\n\nselect * from teams;\nselect * from crm_configurations;\n\nSELECT * FROM activities WHERE id = 628773;\nSELECT * FROM crm_profiles WHERE user_id = 1460;\nSELECT * FROM social_accounts WHERE sociable_id = 2291;\n\nselect * from teams;\nselect ru.*, pr.*, p.* from users u join role_user ru on ru.user_id = u.id\njoin permission_role pr on pr.role_id = ru.role_id\n join permissions p on p.id = pr.permission_id\nwhere team_id = 495 and p.name IN ('dial');\n\nselect * from teams where id = 145;\nselect * from crm_configurations where id = 129;\nselect * from social_accounts where sociable_id = 2317;\nSELECT * FROM activities WHERE uuid_to_bin('8dbab184-a333-4268-ad57-fb41f8d53a9a') = uuid;\n\nselect * from teams where id = 1;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 280;\nSELECT * FROM crm_layout_entities WHERE id = 5507;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 39 and object_type IN ('event');\n\nselect * from teams;\nselect * from activities where crm_configuration_id = 14;\n\nSELECT * FROM social_accounts where provider = 'copper';\n\nselect * from activities where id = 628467;\nselect * from participants where activity_id = 628467;\n\nSELECT * FROM contacts WHERE id = 3969;\nSELECT * FROM accounts WHERE id = 177;\n\nSELECT * FROM activities WHERE uuid_to_bin('4eb54c77-cfa3-2bd4-84a7-9ed46a21c988') = uuid;\n\n# ********************* BH\nselect * from teams where id = 36;\nSELECT * FROM crm_configurations WHERE id = 21;\nselect * from activities where crm_configuration_id = 21 and id = 607901;\nselect * from activities where crm_configuration_id = 21;\n\nselect * roles;\nselect * from permissions;\nselect * from permission_role where permission_id = 226;\n\nselect * from migrations order by id desc;\n\n# mercury\n# neptune\n# earth\n\nselect * from teams;\nselect * from teams where id = 19;\nselect * from teams where id = 27;\nselect * from users where team_id = 27;\nSELECT * FROM crm_configurations WHERE id = 42;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 19\nand sa.provider = 'pipedrive';\n\nselect * from activities where id = 631461;\nSELECT * FROM crm_field_values WHERE crm_field_id = 180;\n\nselect * from teams where id = 2;\nSELECT * FROM social_accounts WHERE sociable_id = 89;\n\nSELECT * FROM activities WHERE uuid_to_bin('ba0c029a-bc14-4e17-8603-64174acebcbb') = uuid; # 634273\nselect * from activity_summary_logs where activity_id = 634273;\n\nselect * from sidekick_settings where team_id = 2;\n\nselect * from teams; # 2, 2\nSELECT * FROM crm_configurations WHERE team_id = 2; # 2\nselect * from team_features where team_id = 2;\nselect * from features;\nSELECT * FROM opportunities WHERE crm_configuration_id = 2 and crm_provider_id = '51317301383';\nSELECT * FROM opportunities WHERE crm_configuration_id = 2 order by id desc;\n\nselect * from automated_reports order by id desc;\nselect * from automated_report_results order by id desc;\nselect * from users where team_id = 1 and id IN (7160, 3248);\nselect * from migrations order by 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 = 1 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 565;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 175;\nselect * from playbook_categories where playbook_id = 175;\nselect * from users where team_id = 1;\nselect * from users where id = 7160;\nselect * from crm_profiles where user_id = 7160;\nselect * from features;\nselect\n *\n# id, uuid, type, provider, playbook_category_id, user_id, lead_id, contact_id, account_id, opportunity_id, stage_id,\n# crm_configuration_id, crm_provider_id, transcription_id, status\nfrom activities where crm_configuration_id = 1 and type = 'conference'\n# and crm_provider_id IS NOT NULL\nand provider != 'uploader' and actual_start_time IS NOT NULL\nORDER by id desc;\nselect * from activities where id = 54747783; # 00UO400000pCzojMAC\n\nselect p.id, p.activity_type, pc.id, pc.name\nFROM playbooks p\njoin playbook_categories pc on p.id = pc.playbook_id\nwhere p.team_id = 1 and p.activity_type = 'event';\n\nSELECT * FROM crm_fields WHERE crm_configuration_id = 1 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id = 4;\n\nselect * from crm_layouts cl join playbook_layouts pl on cl.id = pl.layout_id\nwhere crm_configuration_id = 1 and pl.playbook_id = 175;\n\nselect * from teams;\nSELECT r.* FROM automated_reports r\njoin teams t on r.team_id = t.id\nWHERE r.frequency = 'daily'\n and r.status = 1\nAND t.status = 'active'\nAND (r.expires_at >= now() OR r.expires_at IS NULL);\n\nselect * from automated_report_results where report_id IN (18, 33);\n\nselect * from activity_searches where id = 10932;\nselect * from activity_search_filters where activity_search_id = 10932;\nselect * from automated_reports order by id desc;\nselect * from automated_report_results order by id desc;\nselect * from automated_report_results where report_id IN (36);","depth":4,"value":"SELECT * FROM teams WHERE id = 1;\n\nselect * from crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 283;\nSELECT * FROM crm_fields WHERE id = 2234;\nSELECT * FROM crm_field_values WHERE crm_field_id = 2234;\n\nselect * from crm_profiles where user_id = 143;\n\nselect * from record_types where crm_configuration_id = 39; # 0121K000001MHElQAO,0121K000001MHEqQAO\nselect * from business_processes where crm_configuration_id = 39;\n# 01941000000H669AAC, 01941000000H66JAAS\n\nselect * from record_type_field_values\n where record_type_id IN (24);\n\nselect * from crm_field_values where id IN (2730);\n\nselect * from crm_configurations where id = 39;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 1\nand sa.provider = 'salesforce'; #1035\n\n\nselect * from users where team_id = 1; # 222 group 3\nSELECT * FROM activities WHERE user_id = 222 order by id desc;\nselect * from sidekick_settings where team_id = 1;\nselect * from teams where id = 1;\nselect * from team_features where team_id = 1;\n\nselect * from activities where crm_configuration_id = 2\nand provider = 'ms-teams' and id = 608765;\n\nSELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id = '59523413338';\n\nselect * from sidekick_settings where team_id = 2;\n\nSELECT * FROM activities WHERE id = 608660;\nselect * from activity_summary_logs where activity_id = 608660;\nselect * from ai_prompts where transcription_id = 11214;\n\n# ********************************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('ed78a437-2804-450e-ab2f-56ab1c641346') = uuid;\n# id: 608818, crm: 59628809737\nSELECT * FROM activities WHERE uuid_to_bin('36b06e55-afdd-4782-8dee-c624cd0af191') = uuid;\n# id: 608821, crm: 59632069252\nSELECT ce.start_time, ce.end_time, a.id, a.uuid, crm_provider_id, calendar_event_id, title,\nplaybook_category_id, user_id, lead_id, contact_id, account_id, opportunity_id,\nscheduled_start_time, scheduled_end_time, actual_start_time, actual_end_time, a.created_at\nFROM activities a\njoin calendar_events ce on a.calendar_event_id = ce.id\nWHERE a.id IN (608818, 608821);\n\nselect * from users where team_id = 1;\nselect * from team_settings where team_id = 1;\nselect * from crm_profiles where crm_configuration_id = 39 order by user_id;\n\nselect * from team_features where team_id = 1;\n\nselect * from users where team_id = 2;\n\nSELECT * FROM activities WHERE uuid_to_bin('ec7647e9-5225-458b-b475-f31aa2769204') = uuid; # 612639\n# Preslava N. Ivanova, grou id 3\n\nSELECT * FROM opportunities WHERE uuid_to_bin('a2928fe5-aec5-46cb-85d9-7654c89e46a6') = uuid;\n\nselect * from activities where opportunity_id = 344 and actual_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00';\n\nselect\n a.id,\n a.type,\n a.scheduled_start_time,\n a.actual_start_time,\n a.created_at,\n a.opportunity_id,\n a.status\nFROM activities a\nWHERE opportunity_id = 344\nand status IN ('completed', 'received', 'delivered')\nand (\n (a.actual_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00')\nOR (a.created_at between '2024-10-11 00:00:00' and '2024-10-12 00:00:00')\nOR (a.scheduled_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00'))\n;\n\nSELECT * FROM users WHERE id = 222;\n\nSELECT * FROM crm_profiles WHERE user_id = 222;\nselect * from crm_layouts where crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 281;\n\nselect * from group_deal_risk_types;\n\nselect * from opportunities where team_id = 1;\n\nSELECT * FROM opportunities WHERE id = 315;\nSELECT * FROM crm_field_data WHERE object_id = 315;\nselect * from crm_field_data where object_id = 260;\n\nselect * from generic_ai_prompts where subject_id = 315;\n\nselect * from teams; # 36, 21, 121, james.graham@bullhorn.jiminny.com\nSELECT * FROM social_accounts WHERE sociable_id = 121 and provider = 'bullhorn';\n\n# ************************************************************************************\nselect * from teams where id = 1;\nselect * from crm_configurations where id = 39;\nselect * from users where team_id = 1;\nselect u.email, cp.* from users u\njoin crm_profiles cp on u.id = cp.user_id\nwhere u.team_id = 1;\n# 1 - 00541000004281rAAA\n# 204 - 0052g000003freeAAA\n# 429 - 0052g000003qGOiAAM\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 1\nand sa.provider = 'salesforce';\n\nselect * from activities where type = 'softphone'\nand created_at > '2024-12-11 15:24:36' order by id desc;\n\nselect * from activity_providers where team_id = 1;\nselect * from activity_provider_users where activity_provider_id = 328;\n\nselect * from opportunities where crm_configuration_id = 39\nAND account_id = 178 AND is_closed = false\norder by created_at DESC;\n\nselect * from contacts where id = 3952;\nselect * from accounts where id = 178;\n\n# ************************************************************************************\nselect * from teams where id = 36;\nselect * from crm_configurations where id = 21;\nselect * from users where team_id = 36;\nselect u.email, cp.* from users u\njoin crm_profiles cp on u.id = cp.user_id\nwhere u.team_id = 36;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 36\nand sa.provider = 'bullhorn';\n\nselect * from social_accounts where id = 348;\nUPDATE social_accounts SET\nprovider_user_token = '21442_6802599_91:41179a58-21e7-4d7c-ad58-56bb666b2f65',\nprovider_refresh_token = '21442_6802599_91:01c6b335-3f2a-42e4-85ff-8a08fa65fceb',\nexpires = 1733998131,\nstate = 'connected'\nWHERE id = 348;\n\n# ************************************************************************************\nselect * from teams where id = 31;\nselect * from crm_configurations where id = 18;\n\nselect * from users where team_id = 31; # 257\nselect u.email, cp.* from users u\njoin crm_profiles cp on u.id = cp.user_id\nwhere u.team_id = 31;\n\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 31\nand sa.provider = 'close';\n\nselect * from contacts where crm_configuration_id = 18;\n\n# ********************** NEPTUNE **************************************************************\nselect * from teams;\nselect * from users where id IN (1030, 1035, 1052);\nselect * from crm_configurations;\n\nselect * from users where team_id = 65; # 257\nselect * from team_settings where team_id = 65; # 257\nselect * from invitations where team_id = 65; # 257\nselect * from users where email = 'integration-account@jiminny.com'; # 257\nselect u.email, cp.* from users u\njoin crm_profiles cp on u.id = cp.user_id\nwhere u.team_id = 65;\n\nselect * from crm_configurations where id = 53;\nselect * from accounts where crm_configuration_id = 53 order by id desc;\nselect * from leads where crm_configuration_id = 53 order by id desc;\nselect * from contacts where crm_configuration_id = 53 order by id desc;\nselect * from opportunities where crm_configuration_id = 53 order by id desc;\nselect * from crm_profiles where crm_configuration_id = 53 order by id desc;\nselect * from crm_fields where crm_configuration_id = 53 order by id desc;\nselect * from crm_field_values where crm_field_id = 3341 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 53 order by id desc;\nselect * from stages where crm_configuration_id = 53 order by id desc;\n\n\nselect * from crm_profiles where crm_configuration_id = 13;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 65\nand sa.provider = 'integration-app';\n\nselect * from contacts where crm_configuration_id = 13;\n\nselect * from social_accounts where sociable_id = 283;\n\nSELECT * FROM opportunities WHERE crm_provider_id = '006O400000E9bzeIAB';\n\nselect * from activity_providers where team_id = 65;\nSELECT * FROM activities WHERE crm_configuration_id IN (51, 52, 53);\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 65\n;\n\n# ***************************** STAGING ********************************************\nSELECT * FROM teams;\nSELECT * FROM teams WHERE id = 88;\nSELECT * FROM teams WHERE id = 89;\nselect * from team_settings where team_id = 89;\nSELECT * FROM users WHERE team_id = 89;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 89;\n\nselect * from users;\nSELECT * FROM social_accounts WHERE sociable_id = 1761;\nSELECT * FROM crm_configurations WHERE id = 70;\nselect * from accounts where crm_configuration_id = 70 order by id desc;\nselect * from leads where crm_configuration_id = 70 order by id desc;\nselect * from contacts where crm_configuration_id = 70 order by id desc;\nselect * from opportunities where crm_configuration_id = 70 order by id desc;\nselect * from crm_profiles where crm_configuration_id = 70 order by id desc;\nselect * from crm_fields where crm_configuration_id = 70 order by id desc;\nselect * from crm_field_values where crm_field_id = 3536 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 70 order by id desc;\nselect * from stages where crm_configuration_id = 70 order by id desc;\nselect * from business_processes where crm_configuration_id = 70 order by id desc;\nselect * from business_process_stages where business_process_id = 34;\n\nselect * from contacts where id = 10468;\n\nselect * from crm_layouts where crm_configuration_id = 70;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 388;\nSELECT * FROM crm_fields WHERE id IN (3533,3534,3535);\n\nselect * from activities where crm_configuration_id = 70\nand (account_id IS NOT NULL or lead_id IS NOT NULL or contact_id IS NOT NULL or opportunity_id IS NOT NULL) order by id desc;\n\nSELECT * FROM activities WHERE uuid_to_bin('2e10b60f-8a61-41c5-a3d4-28835353dc65') = uuid;\nSELECT * FROM activities where crm_configuration_id = 69 ;\n\nSELECT * FROM users WHERE email LIKE '%jiminny_web_sa2@jiminny.com%';\nSELECT * FROM activities WHERE uuid_to_bin('5a150c93-40fc-42ec-b3bd-c1d328e09f6e') = uuid;\nSELECT * FROM opportunities WHERE id = 385;\n\nselect * from participants p\njoin activities a on p.activity_id = a.id\nwhere a.crm_configuration_id = 70\nand (p.lead_id IS NOT NULL or p.contact_id IS NOT NULL);\nSELECT * FROM participants WHERE id = 1013638;\n\nselect * from teams where id = 90;\nselect * from users where team_id = 90;\nselect * from social_accounts where social_accounts.sociable_id IN (1960,1760);\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 71;\nselect * from invitations where team_id = 90;\n\nselect * from crm_configurations where id = 71;\nselect * from accounts where crm_configuration_id = 71 order by id desc;\nselect * from leads where crm_configuration_id = 71 order by id desc;\nselect * from contacts where crm_configuration_id = 71 order by id desc;\nselect * from opportunities where crm_configuration_id = 71 order by id desc;\nselect * from crm_profiles where crm_configuration_id = 71 order by id desc;\nselect * from crm_fields where crm_configuration_id = 71 order by id desc;\nselect * from crm_field_values where crm_field_id = 3341 order by id desc;\nselect * from crm_layouts where crm_configuration_id = 71 order by id desc;\nselect * from stages where crm_configuration_id = 71 order by id desc;\n\nselect * from users order by secondary_email desc;\nselect u.id, u.email, u.status, sa.id, sa.provider_user_id from social_accounts sa\n join users u on sa.sociable_id = u.id\nwhere sa.provider = 'google' and u.email LIKE 'aneliya%';\n\nselect * from failed_jobs order by id desc;\n\nselect * from users where email = 'ben.allwright@learningpeople.co.uk' or secondary_email = 'ben.allwright@learningpeople.co.uk';\n\nselect * from teams;\nSELECT * FROM crm_profiles WHERE crm_configuration_id = 39;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 39 and object_type = 'task';\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 1\nand sa.provider = 'salesforce';\n\n# ************************************************************************************\nSELECT * FROM activities WHERE uuid_to_bin('c38b3895-fd0f-4b1f-9fb2-c170dba137c6') = uuid;\nSELECT * FROM crm_configurations WHERE id = 70;\n\nselect * from teams where id = 1;\nselect * from groups where team_id = 1;\nselect * from users where team_id = 1;\n\nselect o.id, o.name,o.close_date, u.id, u.name, u.group_id, r.id, r.display_name, g.name, g.scope from opportunities o\njoin users u on o.user_id = u.id\njoin groups g on u.group_id = g.id\njoin role_user ru on u.id = ru.user_id\njoin roles r on ru.role_id = r.id\nwhere o.crm_configuration_id = 39 and close_date > '2024-01-01 00:00:00';\n\nselect * from role_user where user_id = 143;\nselect * from roles;\n\nselect * from role_user;\nselect * from groups where id = 9;\nselect * from scope_groups where group_id = 9;\n\n# ************************************************************************************\nselect * from teams where id = 36;\nselect * from crm_configurations;\nSELECT * FROM social_accounts WHERE sociable_id = 121;\n\nhttps://crmsandbox.zoho.com/crm/jiminnyw4/tab/Leads/4776201000005049105\nhttps://crmsandbox.zoho.com/crm/\n\nhttps://crm.zoho.com/crm/org3469620/tab/Leads/230045000229559080\n https://crm.zoho.com/crm/\n org3469620\n\nSELECT * FROM activities WHERE uuid_to_bin('03382d20-c8bc-48e7-a3d4-90b52fa5ceab') = uuid;\n\nselect * from users where email LIKE \"%mobile_automation_%\";\nselect * from social_accounts where sociable_id IN (2228);\nselect * from crm_profiles where user_id IN (2222,2223,2226,2227);\n\nselect * from teams order by id desc;\nSELECT * FROM users WHERE id = 2229;\nSELECT * FROM crm_profiles WHERE user_id = 2229;\nselect * from opportunities where crm_configuration_id = 88;\nselect * from crm_fields where crm_configuration_id = 88;\nselect * from crm_profiles where crm_configuration_id = 88;\n\nSELECT * FROM teams WHERE id = 1;\n\nSELECT * FROM users WHERE id = 143;\nSELECT * FROM users WHERE uuid_to_bin('fde193d3-06a2-4e1a-8895-62b94039215d') = uuid;\nSELECT * FROM teams WHERE uuid_to_bin('73385071-a756-42ae-9c73-8b53f2309467') = uuid;\n\nhttps://app.staging.jiminny.com/ondemand?\n min_duration=1\n &\n only_recorded=1\n &\n user_id%5B%5D=641f1acb-16b8-42d1-8726-df52979dad0e\n &\n sequence_number=2\n\n select * from users where team_id = 1 and email like '%stoyan%'\n\nselect * from coaching_feedbacks;\n\nselect * from teams;\nSELECT * FROM users WHERE team_id = 36;\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 19\nand sa.provider = 'pipedrive';\n\nselect * from users where id = 143;\n\nSELECT * FROM users WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;\nSELECT * FROM teams WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;\nSELECT * FROM activity_shares WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;\n\nselect * from users where team_id = 2;\nselect * from activities where crm_configuration_id = 39\nand activities.scheduled_start_time BETWEEN '2025-04-09 00:00:00' AND '2025-04-09 23:59:59'\nAND user_id = 143\norder by id desc;\n\n# ************************************************************************************\nselect * from teams where id = 142; # 2312, 126\nselect * from team_settings;\nselect * from users where team_id = 142; # 21642\nSELECT * FROM social_accounts WHERE sociable_id = 21642;\nSELECT * FROM crm_profiles cp join users u ON u.id = cp.user_id WHERE team_id = 142;\nselect * from crm_profiles where id IN (93);\nselect * from invitations;\nselect * from team_features where team_id = 1;\n\nSELECT * FROM crm_configurations WHERE id = 126;\nselect * from accounts where crm_configuration_id = 126 order by id desc;\nselect * from leads where crm_configuration_id = 126 order by id desc;\nselect * from contacts where crm_configuration_id = 126 order by id desc;\nselect * from opportunities where crm_configuration_id = 126 order by id desc;\nselect * from crm_profiles where crm_configuration_id = 126 order by id desc;\nselect * from crm_fields where crm_configuration_id = 126 # 11060\n# and type IN ('picklist', 'status')\n# and object_type = 'task'\norder by id desc;\n# 5731,5732,5733\nselect DISTINCT crm_field_id from crm_field_values where crm_field_id IN (11151,12239,12215,12185,12175,12165,12144,12137,12127,12109,12107,12105,12103,12092,12037,12005,12003,11987,11969,11958,11951,11942,11931,11924,11921,11917,11915,11901,11893,11883,11872,11870,11868,11866,11839,11833,11821,11793,11780,11777,11769,11757,11737,11735,11656,11645,11638,11629,11618,11611,11602,11591,11584,11581,11558,11544,11543,11534,11532,11529,11527,11503,11497,11493,11488,11470,11468,11457,11455,11397,11387,11372,11363,11348,11323,11318,11309,11301,11300,11292,11290,11286,11284,11256,11252,11242,11237,11233,11219,11176,11160) order by id desc;\nselect * from crm_layouts where crm_configuration_id = 126 order by id desc;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id in (300,299,298);\nselect * from stages where crm_configuration_id = 126 order by id desc;\nselect * from business_processes where crm_configuration_id = 126 order by id desc;\nselect * from business_process_stages where business_process_id IN (76,75,74,73);\nselect * from playbooks where team_id = 142;\nselect * from playbook_layouts where playbook_id IN (108);\nSELECT * FROM playbook_categories WHERE playbook_id IN (108);\n\nselect * from teams where id = 130;\nSELECT * FROM social_accounts WHERE sociable_id = 2291;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 2\nand sa.provider = 'hubspot';\n\nSELECT * FROM activities\n WHERE crm_configuration_id = 110;\n\nselect * from teams;\nselect * from crm_configurations;\n\nSELECT * FROM activities WHERE id = 628773;\nSELECT * FROM crm_profiles WHERE user_id = 1460;\nSELECT * FROM social_accounts WHERE sociable_id = 2291;\n\nselect * from teams;\nselect ru.*, pr.*, p.* from users u join role_user ru on ru.user_id = u.id\njoin permission_role pr on pr.role_id = ru.role_id\n join permissions p on p.id = pr.permission_id\nwhere team_id = 495 and p.name IN ('dial');\n\nselect * from teams where id = 145;\nselect * from crm_configurations where id = 129;\nselect * from social_accounts where sociable_id = 2317;\nSELECT * FROM activities WHERE uuid_to_bin('8dbab184-a333-4268-ad57-fb41f8d53a9a') = uuid;\n\nselect * from teams where id = 1;\nSELECT * FROM crm_layouts WHERE crm_configuration_id = 39;\nSELECT * FROM crm_layout_entities WHERE crm_layout_id = 280;\nSELECT * FROM crm_layout_entities WHERE id = 5507;\nSELECT * FROM crm_fields WHERE crm_configuration_id = 39 and object_type IN ('event');\n\nselect * from teams;\nselect * from activities where crm_configuration_id = 14;\n\nSELECT * FROM social_accounts where provider = 'copper';\n\nselect * from activities where id = 628467;\nselect * from participants where activity_id = 628467;\n\nSELECT * FROM contacts WHERE id = 3969;\nSELECT * FROM accounts WHERE id = 177;\n\nSELECT * FROM activities WHERE uuid_to_bin('4eb54c77-cfa3-2bd4-84a7-9ed46a21c988') = uuid;\n\n# ********************* BH\nselect * from teams where id = 36;\nSELECT * FROM crm_configurations WHERE id = 21;\nselect * from activities where crm_configuration_id = 21 and id = 607901;\nselect * from activities where crm_configuration_id = 21;\n\nselect * roles;\nselect * from permissions;\nselect * from permission_role where permission_id = 226;\n\nselect * from migrations order by id desc;\n\n# mercury\n# neptune\n# earth\n\nselect * from teams;\nselect * from teams where id = 19;\nselect * from teams where id = 27;\nselect * from users where team_id = 27;\nSELECT * FROM crm_configurations WHERE id = 42;\n\nselect * from social_accounts sa\njoin users u on sa.sociable_id = u.id\nwhere u.team_id = 19\nand sa.provider = 'pipedrive';\n\nselect * from activities where id = 631461;\nSELECT * FROM crm_field_values WHERE crm_field_id = 180;\n\nselect * from teams where id = 2;\nSELECT * FROM social_accounts WHERE sociable_id = 89;\n\nSELECT * FROM activities WHERE uuid_to_bin('ba0c029a-bc14-4e17-8603-64174acebcbb') = uuid; # 634273\nselect * from activity_summary_logs where activity_id = 634273;\n\nselect * from sidekick_settings where team_id = 2;\n\nselect * from teams; # 2, 2\nSELECT * FROM crm_configurations WHERE team_id = 2; # 2\nselect * from team_features where team_id = 2;\nselect * from features;\nSELECT * FROM opportunities WHERE crm_configuration_id = 2 and crm_provider_id = '51317301383';\nSELECT * FROM opportunities WHERE crm_configuration_id = 2 order by id desc;\n\nselect * from automated_reports order by id desc;\nselect * from automated_report_results order by id desc;\nselect * from users where team_id = 1 and id IN (7160, 3248);\nselect * from migrations order by 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 = 1 and sa.provider = 'salesforce';\n\nselect * from teams where id = 1;\nselect * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;\nselect * from groups where id = 565;\nselect * from playbooks where team_id = 1;\nselect * from playbooks where id = 175;\nselect * from playbook_categories where playbook_id = 175;\nselect * from users where team_id = 1;\nselect * from users where id = 7160;\nselect * from crm_profiles where user_id = 7160;\nselect * from features;\nselect\n *\n# id, uuid, type, provider, playbook_category_id, user_id, lead_id, contact_id, account_id, opportunity_id, stage_id,\n# crm_configuration_id, crm_provider_id, transcription_id, status\nfrom activities where crm_configuration_id = 1 and type = 'conference'\n# and crm_provider_id IS NOT NULL\nand provider != 'uploader' and actual_start_time IS NOT NULL\nORDER by id desc;\nselect * from activities where id = 54747783; # 00UO400000pCzojMAC\n\nselect p.id, p.activity_type, pc.id, pc.name\nFROM playbooks p\njoin playbook_categories pc on p.id = pc.playbook_id\nwhere p.team_id = 1 and p.activity_type = 'event';\n\nSELECT * FROM crm_fields WHERE crm_configuration_id = 1 and object_type = 'event';\nSELECT * FROM crm_field_values WHERE crm_field_id = 4;\n\nselect * from crm_layouts cl join playbook_layouts pl on cl.id = pl.layout_id\nwhere crm_configuration_id = 1 and pl.playbook_id = 175;\n\nselect * from teams;\nSELECT r.* FROM automated_reports r\njoin teams t on r.team_id = t.id\nWHERE r.frequency = 'daily'\n and r.status = 1\nAND t.status = 'active'\nAND (r.expires_at >= now() OR r.expires_at IS NULL);\n\nselect * from automated_report_results where report_id IN (18, 33);\n\nselect * from activity_searches where id = 10932;\nselect * from activity_search_filters where activity_search_id = 10932;\nselect * from automated_reports order by id desc;\nselect * from automated_report_results order by id desc;\nselect * from automated_report_results where report_id IN (36);","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sync Changes","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.01015625,"height":0.0},"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.23320313,"top":1.0,"width":0.01015625,"height":0.0},"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
9089834681515519080
|
6686649022737200205
|
idle
|
accessibility
|
NULL
|
1 file committed
JY-18909 modify send automated re 1 file committed
JY-18909 modify send automated report command to support immediate send for specific result
text/html
text/html
text/html
Edit Commit Message…
Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
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
17
15
13
Previous Highlighted Error
Next Highlighted Error
SELECT * FROM teams WHERE id = 1;
select * from crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 283;
SELECT * FROM crm_fields WHERE id = 2234;
SELECT * FROM crm_field_values WHERE crm_field_id = 2234;
select * from crm_profiles where user_id = 143;
select * from record_types where crm_configuration_id = 39; # 0121K000001MHElQAO,0121K000001MHEqQAO
select * from business_processes where crm_configuration_id = 39;
# 01941000000H669AAC, 01941000000H66JAAS
select * from record_type_field_values
where record_type_id IN (24);
select * from crm_field_values where id IN (2730);
select * from crm_configurations where id = 39;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 1
and sa.provider = 'salesforce'; #1035
select * from users where team_id = 1; # 222 group 3
SELECT * FROM activities WHERE user_id = 222 order by id desc;
select * from sidekick_settings where team_id = 1;
select * from teams where id = 1;
select * from team_features where team_id = 1;
select * from activities where crm_configuration_id = 2
and provider = 'ms-teams' and id = 608765;
SELECT * FROM activities WHERE crm_configuration_id = 2 and crm_provider_id = '59523413338';
select * from sidekick_settings where team_id = 2;
SELECT * FROM activities WHERE id = 608660;
select * from activity_summary_logs where activity_id = 608660;
select * from ai_prompts where transcription_id = 11214;
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('ed78a437-2804-450e-ab2f-56ab1c641346') = uuid;
# id: 608818, crm: 59628809737
SELECT * FROM activities WHERE uuid_to_bin('36b06e55-afdd-4782-8dee-c624cd0af191') = uuid;
# id: 608821, crm: 59632069252
SELECT ce.start_time, ce.end_time, a.id, a.uuid, crm_provider_id, calendar_event_id, title,
playbook_category_id, user_id, lead_id, contact_id, account_id, opportunity_id,
scheduled_start_time, scheduled_end_time, actual_start_time, actual_end_time, a.created_at
FROM activities a
join calendar_events ce on a.calendar_event_id = ce.id
WHERE a.id IN (608818, 608821);
select * from users where team_id = 1;
select * from team_settings where team_id = 1;
select * from crm_profiles where crm_configuration_id = 39 order by user_id;
select * from team_features where team_id = 1;
select * from users where team_id = 2;
SELECT * FROM activities WHERE uuid_to_bin('ec7647e9-5225-458b-b475-f31aa2769204') = uuid; # 612639
# Preslava N. Ivanova, grou id 3
SELECT * FROM opportunities WHERE uuid_to_bin('a2928fe5-aec5-46cb-85d9-7654c89e46a6') = uuid;
select * from activities where opportunity_id = 344 and actual_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00';
select
a.id,
a.type,
a.scheduled_start_time,
a.actual_start_time,
a.created_at,
a.opportunity_id,
a.status
FROM activities a
WHERE opportunity_id = 344
and status IN ('completed', 'received', 'delivered')
and (
(a.actual_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00')
OR (a.created_at between '2024-10-11 00:00:00' and '2024-10-12 00:00:00')
OR (a.scheduled_start_time between '2024-10-11 00:00:00' and '2024-10-12 00:00:00'))
;
SELECT * FROM users WHERE id = 222;
SELECT * FROM crm_profiles WHERE user_id = 222;
select * from crm_layouts where crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 281;
select * from group_deal_risk_types;
select * from opportunities where team_id = 1;
SELECT * FROM opportunities WHERE id = 315;
SELECT * FROM crm_field_data WHERE object_id = 315;
select * from crm_field_data where object_id = 260;
select * from generic_ai_prompts where subject_id = 315;
select * from teams; # 36, 21, 121, [EMAIL]
SELECT * FROM social_accounts WHERE sociable_id = 121 and provider = 'bullhorn';
# [PASSWORD_DOTS]
select * from teams where id = 1;
select * from crm_configurations where id = 39;
select * from users where team_id = 1;
select u.email, cp.* from users u
join crm_profiles cp on u.id = cp.user_id
where u.team_id = 1;
# 1 - 00541000004281rAAA
# 204 - 0052g000003freeAAA
# 429 - 0052g000003qGOiAAM
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 1
and sa.provider = 'salesforce';
select * from activities where type = 'softphone'
and created_at > '2024-12-11 15:24:36' order by id desc;
select * from activity_providers where team_id = 1;
select * from activity_provider_users where activity_provider_id = 328;
select * from opportunities where crm_configuration_id = 39
AND account_id = 178 AND is_closed = false
order by created_at DESC;
select * from contacts where id = 3952;
select * from accounts where id = 178;
# [PASSWORD_DOTS]
select * from teams where id = 36;
select * from crm_configurations where id = 21;
select * from users where team_id = 36;
select u.email, cp.* from users u
join crm_profiles cp on u.id = cp.user_id
where u.team_id = 36;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 36
and sa.provider = 'bullhorn';
select * from social_accounts where id = 348;
UPDATE social_accounts SET
provider_user_token = '21442_6802599_91:41179a58-21e7-4d7c-ad58-56bb666b2f65',
provider_refresh_token = '21442_6802599_91:01c6b335-3f2a-42e4-85ff-8a08fa65fceb',
expires = 1733998131,
state = 'connected'
WHERE id = 348;
# [PASSWORD_DOTS]
select * from teams where id = 31;
select * from crm_configurations where id = 18;
select * from users where team_id = 31; # 257
select u.email, cp.* from users u
join crm_profiles cp on u.id = cp.user_id
where u.team_id = 31;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 31
and sa.provider = 'close';
select * from contacts where crm_configuration_id = 18;
# [PASSWORD_DOTS] NEPTUNE [PASSWORD_DOTS]
select * from teams;
select * from users where id IN (1030, 1035, 1052);
select * from crm_configurations;
select * from users where team_id = 65; # 257
select * from team_settings where team_id = 65; # 257
select * from invitations where team_id = 65; # 257
select * from users where email = '[EMAIL]'; # 257
select u.email, cp.* from users u
join crm_profiles cp on u.id = cp.user_id
where u.team_id = 65;
select * from crm_configurations where id = 53;
select * from accounts where crm_configuration_id = 53 order by id desc;
select * from leads where crm_configuration_id = 53 order by id desc;
select * from contacts where crm_configuration_id = 53 order by id desc;
select * from opportunities where crm_configuration_id = 53 order by id desc;
select * from crm_profiles where crm_configuration_id = 53 order by id desc;
select * from crm_fields where crm_configuration_id = 53 order by id desc;
select * from crm_field_values where crm_field_id = 3341 order by id desc;
select * from crm_layouts where crm_configuration_id = 53 order by id desc;
select * from stages where crm_configuration_id = 53 order by id desc;
select * from crm_profiles where crm_configuration_id = 13;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 65
and sa.provider = 'integration-app';
select * from contacts where crm_configuration_id = 13;
select * from social_accounts where sociable_id = 283;
SELECT * FROM opportunities WHERE crm_provider_id = '006O400000E9bzeIAB';
select * from activity_providers where team_id = 65;
SELECT * FROM activities WHERE crm_configuration_id IN (51, 52, 53);
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 65
;
# [PASSWORD_DOTS] STAGING [PASSWORD_DOTS]
SELECT * FROM teams;
SELECT * FROM teams WHERE id = 88;
SELECT * FROM teams WHERE id = 89;
select * from team_settings where team_id = 89;
SELECT * FROM users WHERE team_id = 89;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 89;
select * from users;
SELECT * FROM social_accounts WHERE sociable_id = 1761;
SELECT * FROM crm_configurations WHERE id = 70;
select * from accounts where crm_configuration_id = 70 order by id desc;
select * from leads where crm_configuration_id = 70 order by id desc;
select * from contacts where crm_configuration_id = 70 order by id desc;
select * from opportunities where crm_configuration_id = 70 order by id desc;
select * from crm_profiles where crm_configuration_id = 70 order by id desc;
select * from crm_fields where crm_configuration_id = 70 order by id desc;
select * from crm_field_values where crm_field_id = 3536 order by id desc;
select * from crm_layouts where crm_configuration_id = 70 order by id desc;
select * from stages where crm_configuration_id = 70 order by id desc;
select * from business_processes where crm_configuration_id = 70 order by id desc;
select * from business_process_stages where business_process_id = 34;
select * from contacts where id = 10468;
select * from crm_layouts where crm_configuration_id = 70;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 388;
SELECT * FROM crm_fields WHERE id IN (3533,3534,3535);
select * from activities where crm_configuration_id = 70
and (account_id IS NOT NULL or lead_id IS NOT NULL or contact_id IS NOT NULL or opportunity_id IS NOT NULL) order by id desc;
SELECT * FROM activities WHERE uuid_to_bin('2e10b60f-8a61-41c5-a3d4-28835353dc65') = uuid;
SELECT * FROM activities where crm_configuration_id = 69 ;
SELECT * FROM users WHERE email LIKE '%[EMAIL]%';
SELECT * FROM activities WHERE uuid_to_bin('5a150c93-40fc-42ec-b3bd-c1d328e09f6e') = uuid;
SELECT * FROM opportunities WHERE id = 385;
select * from participants p
join activities a on p.activity_id = a.id
where a.crm_configuration_id = 70
and (p.lead_id IS NOT NULL or p.contact_id IS NOT NULL);
SELECT * FROM participants WHERE id = 1013638;
select * from teams where id = 90;
select * from users where team_id = 90;
select * from social_accounts where social_accounts.sociable_id IN (1960,1760);
SELECT * FROM crm_profiles WHERE crm_configuration_id = 71;
select * from invitations where team_id = 90;
select * from crm_configurations where id = 71;
select * from accounts where crm_configuration_id = 71 order by id desc;
select * from leads where crm_configuration_id = 71 order by id desc;
select * from contacts where crm_configuration_id = 71 order by id desc;
select * from opportunities where crm_configuration_id = 71 order by id desc;
select * from crm_profiles where crm_configuration_id = 71 order by id desc;
select * from crm_fields where crm_configuration_id = 71 order by id desc;
select * from crm_field_values where crm_field_id = 3341 order by id desc;
select * from crm_layouts where crm_configuration_id = 71 order by id desc;
select * from stages where crm_configuration_id = 71 order by id desc;
select * from users order by secondary_email desc;
select u.id, u.email, u.status, sa.id, sa.provider_user_id from social_accounts sa
join users u on sa.sociable_id = u.id
where sa.provider = 'google' and u.email LIKE 'aneliya%';
select * from failed_jobs order by id desc;
select * from users where email = '[EMAIL]' or secondary_email = '[EMAIL]';
select * from teams;
SELECT * FROM crm_profiles WHERE crm_configuration_id = 39;
SELECT * FROM crm_fields WHERE crm_configuration_id = 39 and object_type = 'task';
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 1
and sa.provider = 'salesforce';
# [PASSWORD_DOTS]
SELECT * FROM activities WHERE uuid_to_bin('c38b3895-fd0f-4b1f-9fb2-c170dba137c6') = uuid;
SELECT * FROM crm_configurations WHERE id = 70;
select * from teams where id = 1;
select * from groups where team_id = 1;
select * from users where team_id = 1;
select o.id, o.name,o.close_date, u.id, u.name, u.group_id, r.id, r.display_name, g.name, g.scope from opportunities o
join users u on o.user_id = u.id
join groups g on u.group_id = g.id
join role_user ru on u.id = ru.user_id
join roles r on ru.role_id = r.id
where o.crm_configuration_id = 39 and close_date > '2024-01-01 00:00:00';
select * from role_user where user_id = 143;
select * from roles;
select * from role_user;
select * from groups where id = 9;
select * from scope_groups where group_id = 9;
# [PASSWORD_DOTS]
select * from teams where id = 36;
select * from crm_configurations;
SELECT * FROM social_accounts WHERE sociable_id = 121;
https://crmsandbox.zoho.com/crm/jiminnyw4/tab/Leads/4776201000005049105
https://crmsandbox.zoho.com/crm/
https://crm.zoho.com/crm/org3469620/tab/Leads/230045000229559080
https://crm.zoho.com/crm/
org3469620
SELECT * FROM activities WHERE uuid_to_bin('03382d20-c8bc-48e7-a3d4-90b52fa5ceab') = uuid;
select * from users where email LIKE "%mobile_automation_%";
select * from social_accounts where sociable_id IN (2228);
select * from crm_profiles where user_id IN (2222,2223,2226,2227);
select * from teams order by id desc;
SELECT * FROM users WHERE id = 2229;
SELECT * FROM crm_profiles WHERE user_id = 2229;
select * from opportunities where crm_configuration_id = 88;
select * from crm_fields where crm_configuration_id = 88;
select * from crm_profiles where crm_configuration_id = 88;
SELECT * FROM teams WHERE id = 1;
SELECT * FROM users WHERE id = 143;
SELECT * FROM users WHERE uuid_to_bin('fde193d3-06a2-4e1a-8895-62b94039215d') = uuid;
SELECT * FROM teams WHERE uuid_to_bin('73385071-a756-42ae-9c73-8b53f2309467') = uuid;
https://app.staging.jiminny.com/ondemand?
min_duration=1
&
only_recorded=1
&
user_id%5B%5D=641f1acb-16b8-42d1-8726-df52979dad0e
&
sequence_number=2
select * from users where team_id = 1 and email like '%stoyan%'
select * from coaching_feedbacks;
select * from teams;
SELECT * FROM users WHERE team_id = 36;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 19
and sa.provider = 'pipedrive';
select * from users where id = 143;
SELECT * FROM users WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;
SELECT * FROM teams WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;
SELECT * FROM activity_shares WHERE uuid_to_bin('73180eeb-33de-4065-977d-ccbe0e6c94fc') = uuid;
select * from users where team_id = 2;
select * from activities where crm_configuration_id = 39
and activities.scheduled_start_time BETWEEN '2025-04-09 00:00:00' AND '2025-04-09 23:59:59'
AND user_id = 143
order by id desc;
# [PASSWORD_DOTS]
select * from teams where id = 142; # 2312, 126
select * from team_settings;
select * from users where team_id = 142; # 21642
SELECT * FROM social_accounts WHERE sociable_id = 21642;
SELECT * FROM crm_profiles cp join users u ON u.id = cp.user_id WHERE team_id = 142;
select * from crm_profiles where id IN (93);
select * from invitations;
select * from team_features where team_id = 1;
SELECT * FROM crm_configurations WHERE id = 126;
select * from accounts where crm_configuration_id = 126 order by id desc;
select * from leads where crm_configuration_id = 126 order by id desc;
select * from contacts where crm_configuration_id = 126 order by id desc;
select * from opportunities where crm_configuration_id = 126 order by id desc;
select * from crm_profiles where crm_configuration_id = 126 order by id desc;
select * from crm_fields where crm_configuration_id = 126 # 11060
# and type IN ('picklist', 'status')
# and object_type = 'task'
order by id desc;
# 5731,5732,5733
select DISTINCT crm_field_id from crm_field_values where crm_field_id IN (11151,12239,12215,12185,12175,12165,12144,12137,12127,12109,12107,12105,12103,12092,12037,12005,12003,11987,11969,11958,11951,11942,11931,11924,11921,11917,11915,11901,11893,11883,11872,11870,11868,11866,11839,11833,11821,11793,11780,11777,11769,11757,11737,11735,11656,11645,11638,11629,11618,11611,11602,11591,11584,11581,11558,11544,11543,11534,11532,11529,11527,11503,11497,11493,11488,11470,11468,11457,11455,11397,11387,11372,11363,11348,11323,11318,11309,11301,11300,11292,11290,11286,11284,11256,11252,11242,11237,11233,11219,11176,11160) order by id desc;
select * from crm_layouts where crm_configuration_id = 126 order by id desc;
SELECT * FROM crm_layout_entities WHERE crm_layout_id in (300,299,298);
select * from stages where crm_configuration_id = 126 order by id desc;
select * from business_processes where crm_configuration_id = 126 order by id desc;
select * from business_process_stages where business_process_id IN (76,75,74,73);
select * from playbooks where team_id = 142;
select * from playbook_layouts where playbook_id IN (108);
SELECT * FROM playbook_categories WHERE playbook_id IN (108);
select * from teams where id = 130;
SELECT * FROM social_accounts WHERE sociable_id = 2291;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 2
and sa.provider = 'hubspot';
SELECT * FROM activities
WHERE crm_configuration_id = 110;
select * from teams;
select * from crm_configurations;
SELECT * FROM activities WHERE id = 628773;
SELECT * FROM crm_profiles WHERE user_id = 1460;
SELECT * FROM social_accounts WHERE sociable_id = 2291;
select * from teams;
select ru.*, pr.*, p.* from users u join role_user ru on ru.user_id = u.id
join permission_role pr on pr.role_id = ru.role_id
join permissions p on p.id = pr.permission_id
where team_id = 495 and p.name IN ('dial');
select * from teams where id = 145;
select * from crm_configurations where id = 129;
select * from social_accounts where sociable_id = 2317;
SELECT * FROM activities WHERE uuid_to_bin('8dbab184-a333-4268-ad57-fb41f8d53a9a') = uuid;
select * from teams where id = 1;
SELECT * FROM crm_layouts WHERE crm_configuration_id = 39;
SELECT * FROM crm_layout_entities WHERE crm_layout_id = 280;
SELECT * FROM crm_layout_entities WHERE id = 5507;
SELECT * FROM crm_fields WHERE crm_configuration_id = 39 and object_type IN ('event');
select * from teams;
select * from activities where crm_configuration_id = 14;
SELECT * FROM social_accounts where provider = 'copper';
select * from activities where id = 628467;
select * from participants where activity_id = 628467;
SELECT * FROM contacts WHERE id = 3969;
SELECT * FROM accounts WHERE id = 177;
SELECT * FROM activities WHERE uuid_to_bin('4eb54c77-cfa3-2bd4-84a7-9ed46a21c988') = uuid;
# [PASSWORD_DOTS] BH
select * from teams where id = 36;
SELECT * FROM crm_configurations WHERE id = 21;
select * from activities where crm_configuration_id = 21 and id = 607901;
select * from activities where crm_configuration_id = 21;
select * roles;
select * from permissions;
select * from permission_role where permission_id = 226;
select * from migrations order by id desc;
# mercury
# neptune
# earth
select * from teams;
select * from teams where id = 19;
select * from teams where id = 27;
select * from users where team_id = 27;
SELECT * FROM crm_configurations WHERE id = 42;
select * from social_accounts sa
join users u on sa.sociable_id = u.id
where u.team_id = 19
and sa.provider = 'pipedrive';
select * from activities where id = 631461;
SELECT * FROM crm_field_values WHERE crm_field_id = 180;
select * from teams where id = 2;
SELECT * FROM social_accounts WHERE sociable_id = 89;
SELECT * FROM activities WHERE uuid_to_bin('ba0c029a-bc14-4e17-8603-64174acebcbb') = uuid; # 634273
select * from activity_summary_logs where activity_id = 634273;
select * from sidekick_settings where team_id = 2;
select * from teams; # 2, 2
SELECT * FROM crm_configurations WHERE team_id = 2; # 2
select * from team_features where team_id = 2;
select * from features;
SELECT * FROM opportunities WHERE crm_configuration_id = 2 and crm_provider_id = '51317301383';
SELECT * FROM opportunities WHERE crm_configuration_id = 2 order by id desc;
select * from automated_reports order by id desc;
select * from automated_report_results order by id desc;
select * from users where team_id = 1 and id IN (7160, 3248);
select * from migrations order by 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 = 1 and sa.provider = 'salesforce';
select * from teams where id = 1;
select * from groups g JOIN playbooks p on g.playbook_id = p.id where g.team_id = 1;
select * from groups where id = 565;
select * from playbooks where team_id = 1;
select * from playbooks where id = 175;
select * from playbook_categories where playbook_id = 175;
select * from users where team_id = 1;
select * from users where id = 7160;
select * from crm_profiles where user_id = 7160;
select * from features;
select
*
# id, uuid, type, provider, playbook_category_id, user_id, lead_id, contact_id, account_id, opportunity_id, stage_id,
# crm_configuration_id, crm_provider_id, transcription_id, status
from activities where crm_configuration_id = 1 and type = 'conference'
# and crm_provider_id IS NOT NULL
and provider != 'uploader' and actual_start_time IS NOT NULL
ORDER by id desc;
select * from activities where id = 54747783; # 00UO400000pCzojMAC
select p.id, p.activity_type, pc.id, pc.name
FROM playbooks p
join playbook_categories pc on p.id = pc.playbook_id
where p.team_id = 1 and p.activity_type = 'event';
SELECT * FROM crm_fields WHERE crm_configuration_id = 1 and object_type = 'event';
SELECT * FROM crm_field_values WHERE crm_field_id = 4;
select * from crm_layouts cl join playbook_layouts pl on cl.id = pl.layout_id
where crm_configuration_id = 1 and pl.playbook_id = 175;
select * from teams;
SELECT r.* FROM automated_reports r
join teams t on r.team_id = t.id
WHERE r.frequency = 'daily'
and r.status = 1
AND t.status = 'active'
AND (r.expires_at >= now() OR r.expires_at IS NULL);
select * from automated_report_results where report_id IN (18, 33);
select * from activity_searches where id = 10932;
select * from activity_search_filters where activity_search_id = 10932;
select * from automated_reports order by id desc;
select * from automated_report_results order by id desc;
select * from automated_report_results where report_id IN (36);
Sync Changes
Hide This Notification...
|
13071
|
|
44685
|
943
|
14
|
2026-04-17T08:58:20.500586+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776416300500_m1.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+FirefoxFileEditViewHistoryBookmarksProfilesToolsW +FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp→meet.google.com/xpx-omah-rknllian Kyuchukov (Presenting, annotating)PhpStormHelp© DetermineUpdateOperationAction©) HubsoorWebhookServiceProvidel18weonookeventhclass Opportunity extends Model inplementsA$ 420 A ~& James Graham +4110%181182static::created(static function (Opportunity Sopportunity): void |o000runy:)sca0es0-2artach70000rtuhy=ystaoeo.h7):185186187189static::updating(statie function (Opportunity Sopportunity): void (1f (Sopportunity->isDirty(attributes: "stage_id*)) {|Sopportunity-›stage_updated_at • Carbon: :now):Sopportunity-›stages()->attach(Sopportunity->stage_id):1917):static::updated(static function (Opportunity Sopportunity): void {eveatthes Uoportunyuodated tocoortunyHtooportunity-ywasChangedi attributes)stage_1d')) 4event(new OpportunityStageUpdated(Sopportunity)):/** @deacecated */public function deleteExistingAjPronpt(): voidotneracalyrocowroueryloperator: GenericA1Prompt::PROMPT_TYPE_DEAL)suuyculoperator: GenericAiPrompt::SUBJECT_TYPE_OPPORTUNITY)subject_id*, Sthis->getid))->firstO?->deleteO:WJiminnylModels > Opportunity » bootO > X0PS18>0.Ia6|Support Daily - in 3 h 2 m100% <478 • Fri 17 Apr 11:58:20CascadeNew Cascadeкsa@ • Q 8• Fri17Apr 11:58.SubmiAudiofileServiceTestvD 0[C3llian KyuchukovNikolay NikolovNWCascade Code (xoGМoк onenoa pro cot lhexe cheneeaVasil VasilevMihail Mihaylovwestoate huospor crieaceooeAsk anything (XOL)• ©arf Teams (Pre-Reiease) |Symfony189:44 LFUTF-8Co 4 spacesfmaster O VNORMAL1-11.6.56,pngLukas Kovalik11:58 AM | Daily - Processing...
|
NULL
|
9089750132459228882
|
NULL
|
click
|
ocr
|
NULL
|
+FirefoxFileEditViewHistoryBookmarksProfilesToolsW +FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelp→meet.google.com/xpx-omah-rknllian Kyuchukov (Presenting, annotating)PhpStormHelp© DetermineUpdateOperationAction©) HubsoorWebhookServiceProvidel18weonookeventhclass Opportunity extends Model inplementsA$ 420 A ~& James Graham +4110%181182static::created(static function (Opportunity Sopportunity): void |o000runy:)sca0es0-2artach70000rtuhy=ystaoeo.h7):185186187189static::updating(statie function (Opportunity Sopportunity): void (1f (Sopportunity->isDirty(attributes: "stage_id*)) {|Sopportunity-›stage_updated_at • Carbon: :now):Sopportunity-›stages()->attach(Sopportunity->stage_id):1917):static::updated(static function (Opportunity Sopportunity): void {eveatthes Uoportunyuodated tocoortunyHtooportunity-ywasChangedi attributes)stage_1d')) 4event(new OpportunityStageUpdated(Sopportunity)):/** @deacecated */public function deleteExistingAjPronpt(): voidotneracalyrocowroueryloperator: GenericA1Prompt::PROMPT_TYPE_DEAL)suuyculoperator: GenericAiPrompt::SUBJECT_TYPE_OPPORTUNITY)subject_id*, Sthis->getid))->firstO?->deleteO:WJiminnylModels > Opportunity » bootO > X0PS18>0.Ia6|Support Daily - in 3 h 2 m100% <478 • Fri 17 Apr 11:58:20CascadeNew Cascadeкsa@ • Q 8• Fri17Apr 11:58.SubmiAudiofileServiceTestvD 0[C3llian KyuchukovNikolay NikolovNWCascade Code (xoGМoк onenoa pro cot lhexe cheneeaVasil VasilevMihail Mihaylovwestoate huospor crieaceooeAsk anything (XOL)• ©arf Teams (Pre-Reiease) |Symfony189:44 LFUTF-8Co 4 spacesfmaster O VNORMAL1-11.6.56,pngLukas Kovalik11:58 AM | Daily - Processing...
|
44684
|
|
12959
|
280
|
12
|
2026-04-14T11:54:52.614944+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776167692614_m1.jpg...
|
Activity Monitor
|
Activity Monitor – All Processes
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
14,04 GB
Ca Physical Memory:
16,00 GB
Memory Used:
14,04 GB
Cached Files:
1,89 GB
Swap Used:
9,03 GB
3,79 GB
Wired Memory:
Compressed:
2,45 GB
7,25 GB
App Memory:
MEMORY PRESSURE
PhpStorm
4,87 GB
277
1 371
47938
lukas
Virtual Machine Service for Docker
4,06 GB
22
85
35117
lukas
Virtual Machine Service for Claude
1,86 GB
20
79
53868
lukas
FirefoxCP Isolated Web Content
1,16 GB
24
124
14700
lukas
WindowServer
899,8 MB
23
14 011
407
_windowserver...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Physical Memory:","depth":3,"automation_id":"_NS:456","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"16,00 GB","depth":3,"automation_id":"_NS:448","help_text":"Total amount of memory installed in this computer.","role_description":"text"},{"role":"AXStaticText","text":"Memory Used:","depth":3,"bounds":{"left":0.85833335,"top":0.0,"width":0.05625,"height":0.015555556},"automation_id":"_NS:441","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"14,04 GB","depth":3,"bounds":{"left":0.9409722,"top":0.0,"width":0.038194444,"height":0.015555556},"automation_id":"_NS:435","help_text":"Amount of physical memory that is in use by apps or the system.","role_description":"text"},{"role":"AXStaticText","text":"Cached Files:","depth":3,"bounds":{"left":0.85833335,"top":0.0,"width":0.052083332,"height":0.015555556},"automation_id":"_NS:428","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"1,89 GB","depth":3,"bounds":{"left":0.9458333,"top":0.0,"width":0.033333335,"height":0.015555556},"automation_id":"_NS:422","help_text":"Size of files cached by the system into unused memory to improve performance.","role_description":"text"},{"role":"AXStaticText","text":"Swap Used:","depth":3,"bounds":{"left":0.85833335,"top":0.0,"width":0.046527777,"height":0.015555556},"automation_id":"_NS:415","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"9,03 GB","depth":3,"bounds":{"left":0.9458333,"top":0.0,"width":0.033333335,"height":0.015555556},"automation_id":"_NS:409","help_text":"Amount of compressed data temporarily moved to disk to make room in memory for more recently used data.","role_description":"text"},{"role":"AXStaticText","text":"3,79 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.079861164,"height":0.015555556},"automation_id":"_NS:400","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"Wired Memory:","depth":3,"bounds":{"left":0.9930556,"top":0.0,"width":0.006944418,"height":0.015555556},"automation_id":"_NS:393","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"Compressed:","depth":3,"bounds":{"left":0.9930556,"top":0.0,"width":0.006944418,"height":0.015555556},"automation_id":"_NS:386","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"2,45 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.079861164,"height":0.015555556},"automation_id":"_NS:380","help_text":"Physical memory containing data that cannot be compressed or swapped to disk.","role_description":"text"},{"role":"AXStaticText","text":"7,25 GB","depth":3,"bounds":{"left":1.0,"top":0.0,"width":-0.079861164,"height":0.015555556},"automation_id":"_NS:374","help_text":"Physical memory used to store a compressed version of data that has not been used recently.","role_description":"text"},{"role":"AXStaticText","text":"App Memory:","depth":3,"bounds":{"left":0.9930556,"top":0.0,"width":0.006944418,"height":0.015555556},"automation_id":"_NS:367","help_text":"Physical memory allocated by apps and system processes.","role_description":"text"},{"role":"AXStaticText","text":"MEMORY PRESSURE","depth":3,"automation_id":"_NS:359","role_description":"text"},{"role":"AXStaticText","text":"PhpStorm","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"4,87 GB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"277","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"1 371","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"47938","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Virtual Machine Service for Docker","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"4,06 GB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"22","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"85","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"35117","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"Virtual Machine Service for Claude","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,86 GB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"20","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"79","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"53868","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"FirefoxCP Isolated Web Content","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"1,16 GB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"24","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"124","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"14700","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"WindowServer","depth":5,"automation_id":"_NS:31","role_description":"text"},{"role":"AXStaticText","text":"899,8 MB","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"23","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"14 011","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"407","depth":5,"automation_id":"_NS:9","role_description":"text"},{"role":"AXStaticText","text":"_windowserver","depth":5,"automation_id":"_NS:9"}]...
|
9089627510650897825
|
2576589256079135425
|
click
|
accessibility
|
NULL
|
Physical Memory:
16,00 GB
Memory Used:
14,04 GB
Ca Physical Memory:
16,00 GB
Memory Used:
14,04 GB
Cached Files:
1,89 GB
Swap Used:
9,03 GB
3,79 GB
Wired Memory:
Compressed:
2,45 GB
7,25 GB
App Memory:
MEMORY PRESSURE
PhpStorm
4,87 GB
277
1 371
47938
lukas
Virtual Machine Service for Docker
4,06 GB
22
85
35117
lukas
Virtual Machine Service for Claude
1,86 GB
20
79
53868
lukas
FirefoxCP Isolated Web Content
1,16 GB
24
124
14700
lukas
WindowServer
899,8 MB
23
14 011
407
_windowserver...
|
NULL
|
|
53249
|
1153
|
52
|
2026-04-20T08:03:07.021991+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-20/1776 /Users/lukas/.screenpipe/data/data/2026-04-20/1776672187021_m2.jpg...
|
Firefox
|
fix(security): composer dependency updates – 2026- fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/11970
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Ask Google Gemini
Platform Sprint 2 Q2 - Platform Ask Google Gemini
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
JY-20698 handle failed field sync on playbook import activity types by LakyLak · Pull Request #11988 · jiminny/app
JY-20698 handle failed field sync on playbook import activity types by LakyLak · Pull Request #11988 · jiminny/app
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
[JY-20543] AJ Reports > Tracking - Jira
[JY-20543] AJ Reports > Tracking - Jira
[JY-18909] [Part2] Automated reports with Ask Jiminny - Jira
[JY-18909] [Part2] Automated reports with Ask Jiminny - Jira
Ask Jiminny Reports by nikolay-yankov · Pull Request #11894 · jiminny/app
Ask Jiminny Reports by nikolay-yankov · Pull Request #11894 · jiminny/app
New Tab
New Tab
Product Growth Platform | Userpilot
Product Growth Platform | Userpilot
Userpilot | Logged-activity
Userpilot | Logged-activity
fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app
fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app
fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues(g then i)
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (31)
Pull requests
(
31
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality (22)
Security and quality
(
22
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
fix(security): composer dependency updates – 2026-04-15 #11970 Edit title
fix(security): composer dependency updates – 2026-04-15
#
11970
Edit title
Code
Code
Merged
LakyLak
LakyLak
merged 2 commits into
master
master
from
secfix/composer-20260415
secfix/composer-20260415
Copy head branch name to clipboard
12 minutes ago
Lines changed: 23 additions & 23 deletions
Conversation (3)
Conversation
(
3
)
Commits (2)
Commits
(
2
)
Checks (5)
Checks
(
5
)
Files changed (1)
Files changed
(
1
)
Merged
fix(security): composer dependency updates – 2026-04-15 #11970 LakyLak merged 2 commits into master from secfix/composer-20260415 Copy head branch name to clipboard
fix(security): composer dependency updates – 2026-04-15
fix(security): composer dependency updates – 2026-04-15
#
11970
LakyLak
LakyLak
merged 2 commits into
master
master
from
secfix/composer-20260415
secfix/composer-20260415
Copy head branch name to clipboard
Conversation
Conversation
@github-actions
Show options
github-actions bot commented 5 days ago •
github-actions
github-actions
bot
commented
5 days ago
5 days ago
•
edited
edited
Security dependency updates — composer — 2026-04-15
Security dependency updates — composer — 2026-04-15
This PR was opened automatically by the secfix bot. For this ecosystem, one commit carries every dependency upgrade from this run; see
Fixed alerts
below.
CI run logs →
CI run logs →
Upgrade safety (changelog review)
Upgrade safety (changelog review)
Overall verdict:
Mixed
— All previously-actionable alerts were fixed as safe patch/minor bumps. Alert
#463
#463
(phpunit/phpunit) is listed under
Skipped alerts
: the patched version (12.5.22) requires a major version jump from 11.x that includes documented breaking API removals and requires manual migration.
This does not replace CI, tests, or manual smoke checks before merge.
Fixed alerts
Fixed alerts
Alert
Package
Severity
CVE
Patched version
Changelog
Notes
#457
#457
laravel/passport
high
CVE-2026-39976
CVE-2026-39976
13.7.1
releases
releases
Breaking-change risk:
none observed (patch/minor). Bumped from v13.6.0 to v13.7.4 via
composer update
.
#434
#434
google/protobuf
high
CVE-2026-6409
CVE-2026-6409
4.33.6
releases
releases
Breaking-change risk:
none observed (patch/minor). Transitive dep; bumped from v4.33.5 to v4.33.6 via
composer update
.
#425
#425
phpseclib/phpseclib
high
CVE-2026-32935
CVE-2026-32935
3.0.50
releases
releases
Breaking-change risk:
none observed (patch/minor). Bumped from 3.0.49 to 3.0.51 (also
fixes
#454).
#429
#429
league/commonmark
medium
CVE-2026-33347
CVE-2026-33347
2.8.2
releases
releases
Breaking-change risk:
none observed (patch/minor). Transitive dep (via laravel/framework); bumped from 2.8.1 to 2.8.2 via
composer update
.
#454
#454
phpseclib/phpseclib
low
CVE-2026-40194
CVE-2026-40194
3.0.51
releases
releases
Breaking-change risk:
none observed (patch/minor). Covered by bump to 3.0.51 (also
fixes
#425).
Alert
#457
#457
#434
#434
#425
#425
#429
#429
#454
#454
Package
laravel/passport
google/protobuf
phpseclib/phpseclib
league/commonmark
phpseclib/phpseclib
Severity
high
high
high
medium
low
CVE
CVE-2026-39976
CVE-2026-39976
CVE-2026-6409
CVE-2026-6409
CVE-2026-32935
CVE-2026-32935
CVE-2026-33347
CVE-2026-33347
CVE-2026-40194
CVE-2026-40194
Patched version
13.7.1
4.33.6
3.0.50
2.8.2
3.0.51
Changelog
releases
releases
releases
releases
releases
releases
releases
releases
releases
releases
Notes
Breaking-change risk:
none observed (patch/minor). Bumped from v13.6.0 to v13.7.4 via
composer update
.
Breaking-change risk:
none observed (patch/minor). Transitive dep; bumped from v4.33.5 to v4.33.6 via
composer update
.
Breaking-change risk:
none observed (patch/minor). Bumped from 3.0.49 to 3.0.51 (also
fixes
#454).
Breaking-change risk:
none observed (patch/minor). Transitive dep (via laravel/framework); bumped from 2.8.1 to 2.8.2 via
composer update
.
Breaking-change risk:
none observed (patch/minor). Covered by bump to 3.0.51 (also
fixes
#425).
Skipped alerts
Skipped alerts
Alert
Package
Severity
CVE
Patched version
Changelog
Notes
#463
#463
phpunit/phpunit
high
—
12.5.22
releases
releases
Not safe:
Major bump 11.x → 12.x. PHPUnit 12.0.0 removes multiple
TestCase
and
MockBuilder
methods (
iniSet()
,
setLocale()
,
getMockForAbstractClass()
,
getMockForTrait()
,
getObjectForTrait()
,
createTestProxy()
, etc.), drops support for doc-comment metadata (
@covers
,
@uses
annotations must be migrated to PHP 8 attributes), and removes several assert methods and CLI options. Breaking changes are fully documented — manual test-suite migration required before upgrading.
Alert
#463
#463
Package
phpunit/phpunit
Severity
high
CVE
—
Patched version
12.5.22
Changelog
releases
releases
Notes
Not safe:
Major bump 11.x → 12.x. PHPUnit 12.0.0 removes multiple
TestCase
and
MockBuilder
methods (
iniSet()
,
setLocale()
,
getMockForAbstractClass()
,
getMockForTrait()
,
getObjectForTrait()
,
createTestProxy()
, etc.), drops support for doc-comment metadata (
@covers
,
@uses
annotations must be migrated to PHP 8 attributes), and removes several assert methods and CLI options. Breaking changes are fully documented — manual test-suite migration required before upgrading.
Automated by secfix-bot.
Add or remove reactions
fix(security): bump composer dependencies (alerts
fix(security): bump composer dependencies (alerts
#457
#457
#454 #434 #429…
#454 #434 #429…
…
12 / 13 checks OK
7f8b428
7f8b428
@yalokin-jiminny
Show options
yalokin-jiminny commented 5 days ago
yalokin-jiminny
yalokin-jiminny
commented
5 days ago
5 days ago
@claude
@claude
Add or remove reactions
react with eyes
👀
1
@claude...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Ask Google Gemini","depth":4,"bounds":{"left":0.6668883,"top":0.688747,"width":0.011303191,"height":0.027134877},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0018284575,"top":0.0518755,"width":0.07596409,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":4,"bounds":{"left":0.0,"top":0.09497207,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6793] Les Mills activity types not pulling in - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.10614525,"width":0.09524601,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20698 handle failed field sync on playbook import activity types by LakyLak · Pull Request #11988 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.12769353,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20698 handle failed field sync on playbook import activity types by LakyLak · Pull Request #11988 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.13886672,"width":0.19963431,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.16041501,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.17158818,"width":0.15525267,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20543] AJ Reports > Tracking - Jira","depth":4,"bounds":{"left":0.0,"top":0.19313647,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20543] AJ Reports > Tracking - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.20430966,"width":0.06981383,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-18909] [Part2] Automated reports with Ask Jiminny - Jira","depth":4,"bounds":{"left":0.0,"top":0.22585794,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-18909] [Part2] Automated reports with Ask Jiminny - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.23703113,"width":0.10688165,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Ask Jiminny Reports by nikolay-yankov · Pull Request #11894 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2585794,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Ask Jiminny Reports by nikolay-yankov · Pull Request #11894 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.2697526,"width":0.12915559,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.29130086,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.013297873,"top":0.30247405,"width":0.014960106,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Product Growth Platform | Userpilot","depth":4,"bounds":{"left":0.0,"top":0.32402235,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Product Growth Platform | Userpilot","depth":5,"bounds":{"left":0.013297873,"top":0.33519554,"width":0.06200133,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Logged-activity","depth":4,"bounds":{"left":0.0,"top":0.3567438,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Logged-activity","depth":5,"bounds":{"left":0.013297873,"top":0.367917,"width":0.04637633,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.38946527,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.40063846,"width":0.2052859,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.42218676,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.43335995,"width":0.039228722,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.45490822,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.4660814,"width":0.042719416,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.48762968,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.49880287,"width":0.2052859,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.49481246,"width":0.007978723,"height":0.01915403},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.5219473,"width":0.07413564,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Bookmarks","depth":5,"bounds":{"left":0.083277926,"top":0.06943336,"width":0.026761968,"height":0.014764565},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Bookmarks","depth":6,"bounds":{"left":0.083277926,"top":0.06943336,"width":0.026761968,"height":0.014764565},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close sidebar","depth":6,"bounds":{"left":0.1783577,"top":0.06424581,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextField","text":"Search bookmarks","depth":7,"bounds":{"left":0.082446806,"top":0.09976058,"width":0.107546546,"height":0.025538707},"help_text":"","role_description":"search text field","subrole":"AXSearchField","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":6,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Issues(g then i)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Pull requests","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Repositories","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (31)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"31","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality (22)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"22","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"fix(security): composer dependency updates – 2026-04-15 #11970 Edit title","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"fix(security): composer dependency updates – 2026-04-15","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11970","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Code","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Merged","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"LakyLak","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LakyLak","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"merged 2 commits into","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"secfix/composer-20260415","depth":16,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"secfix/composer-20260415","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"12 minutes ago","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lines changed: 23 additions & 23 deletions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation (3)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Conversation","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (2)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks (5)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed (1)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Files changed","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Merged","depth":14,"bounds":{"left":0.40641624,"top":0.0726257,"width":0.017121011,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"fix(security): composer dependency updates – 2026-04-15 #11970 LakyLak merged 2 commits into master from secfix/composer-20260415 Copy head branch name to clipboard","depth":14,"bounds":{"left":0.43018618,"top":0.058260176,"width":0.1653923,"height":0.042298485},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"fix(security): composer dependency updates – 2026-04-15","depth":16,"bounds":{"left":0.43018618,"top":0.05865922,"width":0.13397606,"height":0.01915403},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"fix(security): composer dependency updates – 2026-04-15","depth":17,"bounds":{"left":0.43018618,"top":0.06304868,"width":0.13397606,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":16,"bounds":{"left":0.5668218,"top":0.06304868,"width":0.0028257978,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"11970","depth":16,"bounds":{"left":0.5696476,"top":0.06304868,"width":0.012466756,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"LakyLak","depth":18,"bounds":{"left":0.43018618,"top":0.08339984,"width":0.016123671,"height":0.011971269},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LakyLak","depth":19,"bounds":{"left":0.43018618,"top":0.08339984,"width":0.016123671,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"merged 2 commits into","depth":18,"bounds":{"left":0.4476396,"top":0.08339984,"width":0.04338431,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":18,"bounds":{"left":0.49235374,"top":0.08180367,"width":0.018284574,"height":0.015163607},"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":19,"bounds":{"left":0.4943484,"top":0.083798885,"width":0.014295213,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":19,"bounds":{"left":0.5119681,"top":0.08339984,"width":0.00880984,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"secfix/composer-20260415","depth":19,"bounds":{"left":0.5221077,"top":0.08180367,"width":0.061502658,"height":0.015163607},"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"secfix/composer-20260415","depth":20,"bounds":{"left":0.5241024,"top":0.083798885,"width":0.057513297,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":19,"bounds":{"left":0.58494014,"top":0.07821229,"width":0.00930851,"height":0.022346368},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Conversation","depth":12,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@github-actions","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show options","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"github-actions bot commented 5 days ago •","depth":14,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"github-actions","depth":16,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"github-actions","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"bot","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"commented","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"5 days ago","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"5 days ago","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"•","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"edited","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"edited","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Security dependency updates — composer — 2026-04-15","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Security dependency updates — composer — 2026-04-15","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This PR was opened automatically by the secfix bot. For this ecosystem, one commit carries every dependency upgrade from this run; see","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fixed alerts","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"below.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CI run logs →","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CI run logs →","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Upgrade safety (changelog review)","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Upgrade safety (changelog review)","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overall verdict:","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mixed","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"— All previously-actionable alerts were fixed as safe patch/minor bumps. Alert","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#463","depth":17,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#463","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(phpunit/phpunit) is listed under","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skipped alerts","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":": the patched version (12.5.22) requires a major version jump from 11.x that includes documented breaking API removals and requires manual migration.","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This does not replace CI, tests, or manual smoke checks before merge.","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Fixed alerts","depth":16,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Fixed alerts","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alert","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Package","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Severity","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CVE","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Patched version","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Changelog","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notes","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#457","depth":20,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#457","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"laravel/passport","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"high","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-39976","depth":20,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-39976","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13.7.1","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Bumped from v13.6.0 to v13.7.4 via","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"composer update","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#434","depth":20,"bounds":{"left":0.4247008,"top":0.0,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#434","depth":21,"bounds":{"left":0.4247008,"top":0.0,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"google/protobuf","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"high","depth":20,"bounds":{"left":0.48470744,"top":0.0,"width":0.00930851,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-6409","depth":20,"bounds":{"left":0.5121343,"top":0.0,"width":0.036402926,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-6409","depth":21,"bounds":{"left":0.5121343,"top":0.0,"width":0.036402926,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4.33.6","depth":20,"bounds":{"left":0.56050533,"top":0.0,"width":0.01412899,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5894282,"top":0.0,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5894282,"top":0.0,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Transitive dep; bumped from v4.33.5 to v4.33.6 via","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"composer update","depth":21,"bounds":{"left":0.6241689,"top":0.0,"width":0.035738032,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":20,"bounds":{"left":0.66140294,"top":0.0,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#425","depth":20,"bounds":{"left":0.4247008,"top":0.009976057,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#425","depth":21,"bounds":{"left":0.4247008,"top":0.009976057,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"phpseclib/phpseclib","depth":20,"bounds":{"left":0.44514626,"top":0.0015961692,"width":0.022273935,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"high","depth":20,"bounds":{"left":0.48470744,"top":0.009976057,"width":0.00930851,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-32935","depth":20,"bounds":{"left":0.5121343,"top":0.009976057,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-32935","depth":21,"bounds":{"left":0.5121343,"top":0.009976057,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3.0.50","depth":20,"bounds":{"left":0.56050533,"top":0.009976057,"width":0.01412899,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5894282,"top":0.009976057,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5894282,"top":0.009976057,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"bounds":{"left":0.6225067,"top":0.0,"width":0.049534574,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Bumped from 3.0.49 to 3.0.51 (also","depth":20,"bounds":{"left":0.6225067,"top":0.0,"width":0.048537236,"height":0.04708699},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"fixes","depth":21,"bounds":{"left":0.6225067,"top":0.04349561,"width":0.009973404,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#454).","depth":20,"bounds":{"left":0.63248,"top":0.04349561,"width":0.015957447,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#429","depth":20,"bounds":{"left":0.4247008,"top":0.12090982,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#429","depth":21,"bounds":{"left":0.4247008,"top":0.12090982,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"league/commonmark","depth":20,"bounds":{"left":0.44514626,"top":0.112529926,"width":0.02925532,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"medium","depth":20,"bounds":{"left":0.48470744,"top":0.12090982,"width":0.017287234,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-33347","depth":20,"bounds":{"left":0.5121343,"top":0.12090982,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-33347","depth":21,"bounds":{"left":0.5121343,"top":0.12090982,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2.8.2","depth":20,"bounds":{"left":0.56050533,"top":0.12090982,"width":0.011303191,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5894282,"top":0.12090982,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5894282,"top":0.12090982,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"bounds":{"left":0.6225067,"top":0.07063048,"width":0.049534574,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Transitive dep (via laravel/framework); bumped from 2.8.1 to 2.8.2 via","depth":20,"bounds":{"left":0.6225067,"top":0.08739027,"width":0.048537236,"height":0.08060654},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"composer update","depth":21,"bounds":{"left":0.6241689,"top":0.17318435,"width":0.035738032,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":20,"bounds":{"left":0.66140294,"top":0.17118914,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#454","depth":20,"bounds":{"left":0.4247008,"top":0.23184358,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#454","depth":21,"bounds":{"left":0.4247008,"top":0.23184358,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"phpseclib/phpseclib","depth":20,"bounds":{"left":0.44514626,"top":0.22346368,"width":0.022273935,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"low","depth":20,"bounds":{"left":0.48470744,"top":0.23184358,"width":0.00731383,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-40194","depth":20,"bounds":{"left":0.5121343,"top":0.23184358,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-40194","depth":21,"bounds":{"left":0.5121343,"top":0.23184358,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3.0.51","depth":20,"bounds":{"left":0.56050533,"top":0.23184358,"width":0.01412899,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5894282,"top":0.23184358,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5894282,"top":0.23184358,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"bounds":{"left":0.6225067,"top":0.19832402,"width":0.049534574,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Covered by bump to 3.0.51 (also","depth":20,"bounds":{"left":0.6225067,"top":0.2150838,"width":0.048537236,"height":0.04708699},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"fixes","depth":21,"bounds":{"left":0.6225067,"top":0.26536313,"width":0.009973404,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#425).","depth":20,"bounds":{"left":0.63248,"top":0.26536313,"width":0.015957447,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alert","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#457","depth":20,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#457","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#434","depth":20,"bounds":{"left":0.4247008,"top":0.0,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#434","depth":21,"bounds":{"left":0.4247008,"top":0.0,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#425","depth":20,"bounds":{"left":0.4247008,"top":0.009976057,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#425","depth":21,"bounds":{"left":0.4247008,"top":0.009976057,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#429","depth":20,"bounds":{"left":0.4247008,"top":0.12090982,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#429","depth":21,"bounds":{"left":0.4247008,"top":0.12090982,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#454","depth":20,"bounds":{"left":0.4247008,"top":0.23184358,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#454","depth":21,"bounds":{"left":0.4247008,"top":0.23184358,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Package","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"laravel/passport","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"google/protobuf","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"phpseclib/phpseclib","depth":20,"bounds":{"left":0.44514626,"top":0.0015961692,"width":0.022273935,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"league/commonmark","depth":20,"bounds":{"left":0.44514626,"top":0.112529926,"width":0.02925532,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"phpseclib/phpseclib","depth":20,"bounds":{"left":0.44514626,"top":0.22346368,"width":0.022273935,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Severity","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"high","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"high","depth":20,"bounds":{"left":0.48470744,"top":0.0,"width":0.00930851,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"high","depth":20,"bounds":{"left":0.48470744,"top":0.009976057,"width":0.00930851,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"medium","depth":20,"bounds":{"left":0.48470744,"top":0.12090982,"width":0.017287234,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"low","depth":20,"bounds":{"left":0.48470744,"top":0.23184358,"width":0.00731383,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CVE","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-39976","depth":20,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-39976","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-6409","depth":20,"bounds":{"left":0.5121343,"top":0.0,"width":0.036402926,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-6409","depth":21,"bounds":{"left":0.5121343,"top":0.0,"width":0.036402926,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-32935","depth":20,"bounds":{"left":0.5121343,"top":0.009976057,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-32935","depth":21,"bounds":{"left":0.5121343,"top":0.009976057,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-33347","depth":20,"bounds":{"left":0.5121343,"top":0.12090982,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-33347","depth":21,"bounds":{"left":0.5121343,"top":0.12090982,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"CVE-2026-40194","depth":20,"bounds":{"left":0.5121343,"top":0.23184358,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"CVE-2026-40194","depth":21,"bounds":{"left":0.5121343,"top":0.23184358,"width":0.03939495,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Patched version","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13.7.1","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4.33.6","depth":20,"bounds":{"left":0.56050533,"top":0.0,"width":0.01412899,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3.0.50","depth":20,"bounds":{"left":0.56050533,"top":0.009976057,"width":0.01412899,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2.8.2","depth":20,"bounds":{"left":0.56050533,"top":0.12090982,"width":0.011303191,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3.0.51","depth":20,"bounds":{"left":0.56050533,"top":0.23184358,"width":0.01412899,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Changelog","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5894282,"top":0.0,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5894282,"top":0.0,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5894282,"top":0.009976057,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5894282,"top":0.009976057,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5894282,"top":0.12090982,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5894282,"top":0.12090982,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5894282,"top":0.23184358,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5894282,"top":0.23184358,"width":0.017785905,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notes","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Bumped from v13.6.0 to v13.7.4 via","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"composer update","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Transitive dep; bumped from v4.33.5 to v4.33.6 via","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"composer update","depth":21,"bounds":{"left":0.6241689,"top":0.0,"width":0.035738032,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":20,"bounds":{"left":0.66140294,"top":0.0,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"bounds":{"left":0.6225067,"top":0.0,"width":0.049534574,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Bumped from 3.0.49 to 3.0.51 (also","depth":20,"bounds":{"left":0.6225067,"top":0.0,"width":0.048537236,"height":0.04708699},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"fixes","depth":21,"bounds":{"left":0.6225067,"top":0.04349561,"width":0.009973404,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#454).","depth":20,"bounds":{"left":0.63248,"top":0.04349561,"width":0.015957447,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"bounds":{"left":0.6225067,"top":0.07063048,"width":0.049534574,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Transitive dep (via laravel/framework); bumped from 2.8.1 to 2.8.2 via","depth":20,"bounds":{"left":0.6225067,"top":0.08739027,"width":0.048537236,"height":0.08060654},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"composer update","depth":21,"bounds":{"left":0.6241689,"top":0.17318435,"width":0.035738032,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":20,"bounds":{"left":0.66140294,"top":0.17118914,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Breaking-change risk:","depth":21,"bounds":{"left":0.6225067,"top":0.19832402,"width":0.049534574,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"none observed (patch/minor). Covered by bump to 3.0.51 (also","depth":20,"bounds":{"left":0.6225067,"top":0.2150838,"width":0.048537236,"height":0.04708699},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"fixes","depth":21,"bounds":{"left":0.6225067,"top":0.26536313,"width":0.009973404,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#425).","depth":20,"bounds":{"left":0.63248,"top":0.26536313,"width":0.015957447,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Skipped alerts","depth":16,"bounds":{"left":0.42004654,"top":0.30526736,"width":0.25731382,"height":0.01715882},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Skipped alerts","depth":17,"bounds":{"left":0.42004654,"top":0.30526736,"width":0.039228722,"height":0.016759777},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alert","depth":20,"bounds":{"left":0.42486703,"top":0.3507582,"width":0.010970744,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Package","depth":20,"bounds":{"left":0.4453125,"top":0.3507582,"width":0.019115692,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Severity","depth":20,"bounds":{"left":0.47357047,"top":0.3507582,"width":0.018450798,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CVE","depth":20,"bounds":{"left":0.50099736,"top":0.3507582,"width":0.00930851,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Patched version","depth":20,"bounds":{"left":0.51961434,"top":0.3423783,"width":0.018450798,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Changelog","depth":20,"bounds":{"left":0.5472075,"top":0.3507582,"width":0.024268618,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notes","depth":20,"bounds":{"left":0.61984706,"top":0.3507582,"width":0.013297873,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#463","depth":20,"bounds":{"left":0.4247008,"top":0.50359136,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#463","depth":21,"bounds":{"left":0.4247008,"top":0.50359136,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"phpunit/phpunit","depth":20,"bounds":{"left":0.44514626,"top":0.49521148,"width":0.01761968,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"high","depth":20,"bounds":{"left":0.47357047,"top":0.50359136,"width":0.00930851,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"—","depth":20,"bounds":{"left":0.50099736,"top":0.50359136,"width":0.0039893617,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12.5.22","depth":20,"bounds":{"left":0.5192819,"top":0.50359136,"width":0.017121011,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5472075,"top":0.50359136,"width":0.017952127,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5472075,"top":0.50359136,"width":0.017952127,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Not safe:","depth":21,"bounds":{"left":0.58045214,"top":0.38627294,"width":0.020279255,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Major bump 11.x → 12.x. PHPUnit 12.0.0 removes multiple","depth":20,"bounds":{"left":0.58045214,"top":0.38627294,"width":0.0752992,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TestCase","depth":21,"bounds":{"left":0.58194816,"top":0.4217877,"width":0.019115692,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":20,"bounds":{"left":0.60272604,"top":0.4197925,"width":0.010472074,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MockBuilder","depth":21,"bounds":{"left":0.6146942,"top":0.4217877,"width":0.026263298,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"methods (","depth":20,"bounds":{"left":0.58045214,"top":0.4197925,"width":0.08211436,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iniSet()","depth":21,"bounds":{"left":0.5837766,"top":0.4385475,"width":0.018949468,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.6043883,"top":0.4365523,"width":0.002493351,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"setLocale()","depth":21,"bounds":{"left":0.6085439,"top":0.4385475,"width":0.026263298,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.6363032,"top":0.4365523,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getMockForAbstractClass()","depth":21,"bounds":{"left":0.58194816,"top":0.45530728,"width":0.059674203,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.6431183,"top":0.45331204,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getMockForTrait()","depth":21,"bounds":{"left":0.58194816,"top":0.47206703,"width":0.04055851,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.6241689,"top":0.47007182,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getObjectForTrait()","depth":21,"bounds":{"left":0.58194816,"top":0.4888268,"width":0.04537899,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.62882316,"top":0.4868316,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"createTestProxy()","depth":21,"bounds":{"left":0.58194816,"top":0.50558656,"width":0.04055851,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", etc.), drops support for doc-comment metadata (","depth":20,"bounds":{"left":0.58045214,"top":0.50359136,"width":0.08892952,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"@covers","depth":21,"bounds":{"left":0.6441157,"top":0.5223464,"width":0.01662234,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.66240025,"top":0.5203512,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"@uses","depth":21,"bounds":{"left":0.58194816,"top":0.53910613,"width":0.011968086,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"annotations must be migrated to PHP 8 attributes), and removes several assert methods and CLI options. Breaking changes are fully documented — manual test-suite migration required before upgrading.","depth":20,"bounds":{"left":0.58045214,"top":0.5371109,"width":0.08959442,"height":0.09736632},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Alert","depth":20,"bounds":{"left":0.42486703,"top":0.3507582,"width":0.010970744,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#463","depth":20,"bounds":{"left":0.4247008,"top":0.50359136,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#463","depth":21,"bounds":{"left":0.4247008,"top":0.50359136,"width":0.011469414,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Package","depth":20,"bounds":{"left":0.4453125,"top":0.3507582,"width":0.019115692,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"phpunit/phpunit","depth":20,"bounds":{"left":0.44514626,"top":0.49521148,"width":0.01761968,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Severity","depth":20,"bounds":{"left":0.47357047,"top":0.3507582,"width":0.018450798,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"high","depth":20,"bounds":{"left":0.47357047,"top":0.50359136,"width":0.00930851,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"CVE","depth":20,"bounds":{"left":0.50099736,"top":0.3507582,"width":0.00930851,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"—","depth":20,"bounds":{"left":0.50099736,"top":0.50359136,"width":0.0039893617,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Patched version","depth":20,"bounds":{"left":0.51961434,"top":0.3423783,"width":0.018450798,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12.5.22","depth":20,"bounds":{"left":0.5192819,"top":0.50359136,"width":0.017121011,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Changelog","depth":20,"bounds":{"left":0.5472075,"top":0.3507582,"width":0.024268618,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"releases","depth":20,"bounds":{"left":0.5472075,"top":0.50359136,"width":0.017952127,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"releases","depth":21,"bounds":{"left":0.5472075,"top":0.50359136,"width":0.017952127,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Notes","depth":20,"bounds":{"left":0.61984706,"top":0.3507582,"width":0.013297873,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Not safe:","depth":21,"bounds":{"left":0.58045214,"top":0.38627294,"width":0.020279255,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Major bump 11.x → 12.x. PHPUnit 12.0.0 removes multiple","depth":20,"bounds":{"left":0.58045214,"top":0.38627294,"width":0.0752992,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TestCase","depth":21,"bounds":{"left":0.58194816,"top":0.4217877,"width":0.019115692,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":20,"bounds":{"left":0.60272604,"top":0.4197925,"width":0.010472074,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"MockBuilder","depth":21,"bounds":{"left":0.6146942,"top":0.4217877,"width":0.026263298,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"methods (","depth":20,"bounds":{"left":0.58045214,"top":0.4197925,"width":0.08211436,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iniSet()","depth":21,"bounds":{"left":0.5837766,"top":0.4385475,"width":0.018949468,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.6043883,"top":0.4365523,"width":0.002493351,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"setLocale()","depth":21,"bounds":{"left":0.6085439,"top":0.4385475,"width":0.026263298,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.6363032,"top":0.4365523,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getMockForAbstractClass()","depth":21,"bounds":{"left":0.58194816,"top":0.45530728,"width":0.059674203,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.6431183,"top":0.45331204,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getMockForTrait()","depth":21,"bounds":{"left":0.58194816,"top":0.47206703,"width":0.04055851,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.6241689,"top":0.47007182,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getObjectForTrait()","depth":21,"bounds":{"left":0.58194816,"top":0.4888268,"width":0.04537899,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.62882316,"top":0.4868316,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"createTestProxy()","depth":21,"bounds":{"left":0.58194816,"top":0.50558656,"width":0.04055851,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", etc.), drops support for doc-comment metadata (","depth":20,"bounds":{"left":0.58045214,"top":0.50359136,"width":0.08892952,"height":0.030327214},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"@covers","depth":21,"bounds":{"left":0.6441157,"top":0.5223464,"width":0.01662234,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":",","depth":20,"bounds":{"left":0.66240025,"top":0.5203512,"width":0.0013297872,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"@uses","depth":21,"bounds":{"left":0.58194816,"top":0.53910613,"width":0.011968086,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"annotations must be migrated to PHP 8 attributes), and removes several assert methods and CLI options. Breaking changes are fully documented — manual test-suite migration required before upgrading.","depth":20,"bounds":{"left":0.58045214,"top":0.5371109,"width":0.08959442,"height":0.09736632},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Automated by secfix-bot.","depth":18,"bounds":{"left":0.42004654,"top":0.6843575,"width":0.054521278,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Add or remove reactions","depth":16,"bounds":{"left":0.42004654,"top":0.7122905,"width":0.008643617,"height":0.0207502},"help_text":"","role_description":"summary","subrole":"AXSummary","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"fix(security): bump composer dependencies (alerts","depth":14,"bounds":{"left":0.43666887,"top":0.77972865,"width":0.117519945,"height":0.011572227},"help_text":"fix(security): bump composer dependencies (alerts #457 #454 #434 #429 #425) - laravel/passport: v13.6.0 => v13.7.4 (CVE-2026-39976, alert #457) - phpseclib/phpseclib: 3.0.49 => 3.0.51 (CVE-2026-32935, CVE-2026-40194, alerts #425 #454) - google/protobuf: v4.33.5 => v4.33.6 (alert #434) - league/commonmark: 2.8.1 => 2.8.2 (CVE-2026-33347, alert #429)","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"fix(security): bump composer dependencies (alerts","depth":15,"bounds":{"left":0.43666887,"top":0.77972865,"width":0.117519945,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#457","depth":14,"bounds":{"left":0.55651593,"top":0.77972865,"width":0.009640957,"height":0.011572227},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#457","depth":15,"bounds":{"left":0.55651593,"top":0.77972865,"width":0.009640957,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"#454 #434 #429…","depth":14,"bounds":{"left":0.56848407,"top":0.77972865,"width":0.036070477,"height":0.011572227},"help_text":"fix(security): bump composer dependencies (alerts #457 #454 #434 #429 #425) - laravel/passport: v13.6.0 => v13.7.4 (CVE-2026-39976, alert #457) - phpseclib/phpseclib: 3.0.49 => 3.0.51 (CVE-2026-32935, CVE-2026-40194, alerts #425 #454) - google/protobuf: v4.33.5 => v4.33.6 (alert #434) - league/commonmark: 2.8.1 => 2.8.2 (CVE-2026-33347, alert #429)","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"#454 #434 #429…","depth":15,"bounds":{"left":0.56848407,"top":0.77972865,"width":0.036070477,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"…","depth":14,"bounds":{"left":0.6085439,"top":0.78052676,"width":0.006981383,"height":0.009577015},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"12 / 13 checks OK","depth":14,"bounds":{"left":0.6594083,"top":0.7761373,"width":0.005319149,"height":0.016759777},"help_text":"","role_description":"summary","subrole":"AXSummary","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"7f8b428","depth":14,"bounds":{"left":0.66605717,"top":0.77972865,"width":0.016954787,"height":0.011572227},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"7f8b428","depth":15,"bounds":{"left":0.66605717,"top":0.77972865,"width":0.016954787,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@yalokin-jiminny","depth":13,"bounds":{"left":0.3957779,"top":0.82322425,"width":0.013297873,"height":0.031923383},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show options","depth":14,"bounds":{"left":0.6693817,"top":0.82402235,"width":0.007978723,"height":0.02952913},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"yalokin-jiminny commented 5 days ago","depth":13,"bounds":{"left":0.42004654,"top":0.82402235,"width":0.24135639,"height":0.02952913},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"yalokin-jiminny","depth":15,"bounds":{"left":0.42004654,"top":0.8320032,"width":0.034075797,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"yalokin-jiminny","depth":16,"bounds":{"left":0.42004654,"top":0.8320032,"width":0.034075797,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"commented","depth":14,"bounds":{"left":0.4554521,"top":0.8320032,"width":0.025598405,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"5 days ago","depth":14,"bounds":{"left":0.48238033,"top":0.830407,"width":0.0234375,"height":0.016759777},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"5 days ago","depth":16,"bounds":{"left":0.48238033,"top":0.8320032,"width":0.0234375,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@claude","depth":17,"bounds":{"left":0.42004654,"top":0.8687151,"width":0.019115692,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"@claude","depth":18,"bounds":{"left":0.42004654,"top":0.8687151,"width":0.019115692,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Add or remove reactions","depth":15,"bounds":{"left":0.42004654,"top":0.89664805,"width":0.008643617,"height":0.0207502},"help_text":"","role_description":"summary","subrole":"AXSummary","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"react with eyes","depth":14,"bounds":{"left":0.43001994,"top":0.89664805,"width":0.013796543,"height":0.0207502},"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"👀","depth":16,"bounds":{"left":0.43218085,"top":0.9018356,"width":0.004155585,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1","depth":16,"bounds":{"left":0.43899602,"top":0.9018356,"width":0.0018284575,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@claude","depth":13,"bounds":{"left":0.3957779,"top":0.9565044,"width":0.013297873,"height":0.031923383},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
9089571847747158334
|
-694679065295443528
|
visual_change
|
accessibility
|
NULL
|
Ask Google Gemini
Platform Sprint 2 Q2 - Platform Ask Google Gemini
Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
[SRD-6793] Les Mills activity types not pulling in - Jira
JY-20698 handle failed field sync on playbook import activity types by LakyLak · Pull Request #11988 · jiminny/app
JY-20698 handle failed field sync on playbook import activity types by LakyLak · Pull Request #11988 · jiminny/app
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
JY-20692 change confirmation parameter by LakyLak · Pull Request #11986 · jiminny/app
[JY-20543] AJ Reports > Tracking - Jira
[JY-20543] AJ Reports > Tracking - Jira
[JY-18909] [Part2] Automated reports with Ask Jiminny - Jira
[JY-18909] [Part2] Automated reports with Ask Jiminny - Jira
Ask Jiminny Reports by nikolay-yankov · Pull Request #11894 · jiminny/app
Ask Jiminny Reports by nikolay-yankov · Pull Request #11894 · jiminny/app
New Tab
New Tab
Product Growth Platform | Userpilot
Product Growth Platform | Userpilot
Userpilot | Logged-activity
Userpilot | Logged-activity
fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app
fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app
fix(security): composer dependency updates – 2026-04-15 by github-actions[bot] · Pull Request #11970 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Close bookmarks (⌘B)
Bookmarks
Bookmarks
Close sidebar
Search bookmarks
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues(g then i)
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (31)
Pull requests
(
31
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality (22)
Security and quality
(
22
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
fix(security): composer dependency updates – 2026-04-15 #11970 Edit title
fix(security): composer dependency updates – 2026-04-15
#
11970
Edit title
Code
Code
Merged
LakyLak
LakyLak
merged 2 commits into
master
master
from
secfix/composer-20260415
secfix/composer-20260415
Copy head branch name to clipboard
12 minutes ago
Lines changed: 23 additions & 23 deletions
Conversation (3)
Conversation
(
3
)
Commits (2)
Commits
(
2
)
Checks (5)
Checks
(
5
)
Files changed (1)
Files changed
(
1
)
Merged
fix(security): composer dependency updates – 2026-04-15 #11970 LakyLak merged 2 commits into master from secfix/composer-20260415 Copy head branch name to clipboard
fix(security): composer dependency updates – 2026-04-15
fix(security): composer dependency updates – 2026-04-15
#
11970
LakyLak
LakyLak
merged 2 commits into
master
master
from
secfix/composer-20260415
secfix/composer-20260415
Copy head branch name to clipboard
Conversation
Conversation
@github-actions
Show options
github-actions bot commented 5 days ago •
github-actions
github-actions
bot
commented
5 days ago
5 days ago
•
edited
edited
Security dependency updates — composer — 2026-04-15
Security dependency updates — composer — 2026-04-15
This PR was opened automatically by the secfix bot. For this ecosystem, one commit carries every dependency upgrade from this run; see
Fixed alerts
below.
CI run logs →
CI run logs →
Upgrade safety (changelog review)
Upgrade safety (changelog review)
Overall verdict:
Mixed
— All previously-actionable alerts were fixed as safe patch/minor bumps. Alert
#463
#463
(phpunit/phpunit) is listed under
Skipped alerts
: the patched version (12.5.22) requires a major version jump from 11.x that includes documented breaking API removals and requires manual migration.
This does not replace CI, tests, or manual smoke checks before merge.
Fixed alerts
Fixed alerts
Alert
Package
Severity
CVE
Patched version
Changelog
Notes
#457
#457
laravel/passport
high
CVE-2026-39976
CVE-2026-39976
13.7.1
releases
releases
Breaking-change risk:
none observed (patch/minor). Bumped from v13.6.0 to v13.7.4 via
composer update
.
#434
#434
google/protobuf
high
CVE-2026-6409
CVE-2026-6409
4.33.6
releases
releases
Breaking-change risk:
none observed (patch/minor). Transitive dep; bumped from v4.33.5 to v4.33.6 via
composer update
.
#425
#425
phpseclib/phpseclib
high
CVE-2026-32935
CVE-2026-32935
3.0.50
releases
releases
Breaking-change risk:
none observed (patch/minor). Bumped from 3.0.49 to 3.0.51 (also
fixes
#454).
#429
#429
league/commonmark
medium
CVE-2026-33347
CVE-2026-33347
2.8.2
releases
releases
Breaking-change risk:
none observed (patch/minor). Transitive dep (via laravel/framework); bumped from 2.8.1 to 2.8.2 via
composer update
.
#454
#454
phpseclib/phpseclib
low
CVE-2026-40194
CVE-2026-40194
3.0.51
releases
releases
Breaking-change risk:
none observed (patch/minor). Covered by bump to 3.0.51 (also
fixes
#425).
Alert
#457
#457
#434
#434
#425
#425
#429
#429
#454
#454
Package
laravel/passport
google/protobuf
phpseclib/phpseclib
league/commonmark
phpseclib/phpseclib
Severity
high
high
high
medium
low
CVE
CVE-2026-39976
CVE-2026-39976
CVE-2026-6409
CVE-2026-6409
CVE-2026-32935
CVE-2026-32935
CVE-2026-33347
CVE-2026-33347
CVE-2026-40194
CVE-2026-40194
Patched version
13.7.1
4.33.6
3.0.50
2.8.2
3.0.51
Changelog
releases
releases
releases
releases
releases
releases
releases
releases
releases
releases
Notes
Breaking-change risk:
none observed (patch/minor). Bumped from v13.6.0 to v13.7.4 via
composer update
.
Breaking-change risk:
none observed (patch/minor). Transitive dep; bumped from v4.33.5 to v4.33.6 via
composer update
.
Breaking-change risk:
none observed (patch/minor). Bumped from 3.0.49 to 3.0.51 (also
fixes
#454).
Breaking-change risk:
none observed (patch/minor). Transitive dep (via laravel/framework); bumped from 2.8.1 to 2.8.2 via
composer update
.
Breaking-change risk:
none observed (patch/minor). Covered by bump to 3.0.51 (also
fixes
#425).
Skipped alerts
Skipped alerts
Alert
Package
Severity
CVE
Patched version
Changelog
Notes
#463
#463
phpunit/phpunit
high
—
12.5.22
releases
releases
Not safe:
Major bump 11.x → 12.x. PHPUnit 12.0.0 removes multiple
TestCase
and
MockBuilder
methods (
iniSet()
,
setLocale()
,
getMockForAbstractClass()
,
getMockForTrait()
,
getObjectForTrait()
,
createTestProxy()
, etc.), drops support for doc-comment metadata (
@covers
,
@uses
annotations must be migrated to PHP 8 attributes), and removes several assert methods and CLI options. Breaking changes are fully documented — manual test-suite migration required before upgrading.
Alert
#463
#463
Package
phpunit/phpunit
Severity
high
CVE
—
Patched version
12.5.22
Changelog
releases
releases
Notes
Not safe:
Major bump 11.x → 12.x. PHPUnit 12.0.0 removes multiple
TestCase
and
MockBuilder
methods (
iniSet()
,
setLocale()
,
getMockForAbstractClass()
,
getMockForTrait()
,
getObjectForTrait()
,
createTestProxy()
, etc.), drops support for doc-comment metadata (
@covers
,
@uses
annotations must be migrated to PHP 8 attributes), and removes several assert methods and CLI options. Breaking changes are fully documented — manual test-suite migration required before upgrading.
Automated by secfix-bot.
Add or remove reactions
fix(security): bump composer dependencies (alerts
fix(security): bump composer dependencies (alerts
#457
#457
#454 #434 #429…
#454 #434 #429…
…
12 / 13 checks OK
7f8b428
7f8b428
@yalokin-jiminny
Show options
yalokin-jiminny commented 5 days ago
yalokin-jiminny
yalokin-jiminny
commented
5 days ago
5 days ago
@claude
@claude
Add or remove reactions
react with eyes
👀
1
@claude...
|
53248
|
|
45350
|
955
|
50
|
2026-04-17T09:34:22.835304+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776418462835_m1.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelpmeet.google.com/xpx-omah-rkn‹$0(aolSupport Daily - in 2h 26 m100% <478 • Fri 17 Apr 12:34:22llian Kyuchukov (Presenting, annotating)+PhpStorm20 513524S25520527528529532533 533534S35536Help240$ к-@ • Q 8• Fri17 Apr 12:34.SubmAudiofileServiceTestvD© a findBusinessProcessesByExternalid > crmProvideridHubspotWebhookServiceProvider© WebhookEventProcessor© OpportunityStageUpdated© Opportunity(©) Kernet© OpportunitySyncTrait|© CrmEntityRepositoryclass CraEntityRepositorypublic function getExistingOpportunityCralds(Confiquration Sconfiguration, array ScraProviderIds): array|46 432|19 usages & Nikolay Yankowpuolic function tindprofilebytxternatid(configuration sconfiguration, string Screproviderid): ?Profalelreturn Sconfiguration-›profiles)-swhere( column: 'crn_provider_id', ScreProviderId)•›firstO:|public function findBusinessProcesses8yExternalIdCConfiguration Sconfigucalao.string ScraProvidogidpanerel coumnt crasprovzoerdoScraProviderId)->firstO:llian KyuchukovNikolay NikolovNVasil VasilevMihail Mihaylovpublic function findAccountsByExternal0wnerId(Configuration Sconfiguration, string ScrnOunerId): Collectionretura scontounation-saccounts-sahere( column: 'ouner_id', ScreOunerId)-sahereNull( columns: 'user_id*)|-›getO:|MDERTIOWLECLLAUINGOIILUSEW Windsurf Teams (Pre-Release) Symfony53321 LFUTF-8 C 4 spacesAmaster o VNORMAL2024-11_6.56.png$I17Lukas Kovalik12:34 PM Daily - Processing...
|
NULL
|
9089320589964959655
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelpmeet.google.com/xpx-omah-rkn‹$0(aolSupport Daily - in 2h 26 m100% <478 • Fri 17 Apr 12:34:22llian Kyuchukov (Presenting, annotating)+PhpStorm20 513524S25520527528529532533 533534S35536Help240$ к-@ • Q 8• Fri17 Apr 12:34.SubmAudiofileServiceTestvD© a findBusinessProcessesByExternalid > crmProvideridHubspotWebhookServiceProvider© WebhookEventProcessor© OpportunityStageUpdated© Opportunity(©) Kernet© OpportunitySyncTrait|© CrmEntityRepositoryclass CraEntityRepositorypublic function getExistingOpportunityCralds(Confiquration Sconfiguration, array ScraProviderIds): array|46 432|19 usages & Nikolay Yankowpuolic function tindprofilebytxternatid(configuration sconfiguration, string Screproviderid): ?Profalelreturn Sconfiguration-›profiles)-swhere( column: 'crn_provider_id', ScreProviderId)•›firstO:|public function findBusinessProcesses8yExternalIdCConfiguration Sconfigucalao.string ScraProvidogidpanerel coumnt crasprovzoerdoScraProviderId)->firstO:llian KyuchukovNikolay NikolovNVasil VasilevMihail Mihaylovpublic function findAccountsByExternal0wnerId(Configuration Sconfiguration, string ScrnOunerId): Collectionretura scontounation-saccounts-sahere( column: 'ouner_id', ScreOunerId)-sahereNull( columns: 'user_id*)|-›getO:|MDERTIOWLECLLAUINGOIILUSEW Windsurf Teams (Pre-Release) Symfony53321 LFUTF-8 C 4 spacesAmaster o VNORMAL2024-11_6.56.png$I17Lukas Kovalik12:34 PM Daily - Processing...
|
NULL
|
|
43515
|
925
|
31
|
2026-04-17T08:10:45.285321+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776413445285_m2.jpg...
|
PhpStorm
|
faVsco.js – EventServiceProvider.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
StageUpda
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results...
|
[{"role":"AXButton","text" [{"role":"AXButton","text":"Project: faVsco.js, menu","depth":5,"bounds":{"left":0.03046875,"top":0.017361112,"width":0.0453125,"height":0.022222223},"help_text":"~/jiminny/app","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"#11894 on JY-18909-automated-reports-ask-jiminny, menu","depth":5,"bounds":{"left":0.07578125,"top":0.017361112,"width":0.14960937,"height":0.022222223},"help_text":"Pull request #11894 exists for current branch JY-18909-automated-reports-ask-jiminny, but local branch is out of sync with remote","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Start Listening for PHP Debug Connections","depth":5,"bounds":{"left":0.78515625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"AutomatedReportsCommandTest","depth":6,"bounds":{"left":0.803125,"top":0.017361112,"width":0.09765625,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Run 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9007813,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Debug 'AutomatedReportsCommandTest'","depth":6,"bounds":{"left":0.9140625,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More Actions","depth":6,"bounds":{"left":0.9273437,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"JetBrains AI","depth":5,"bounds":{"left":0.96015626,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Search Everywhere","depth":5,"bounds":{"left":0.9734375,"top":0.017361112,"width":0.01328125,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"IDE and Project Settings","depth":5,"bounds":{"left":0.9867188,"top":0.017361112,"width":0.013281226,"height":0.022222223},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"bounds":{"left":0.12382813,"top":0.2638889,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.13867188,"top":0.26319444,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"StageUpda","depth":4,"bounds":{"left":0.1515625,"top":0.26319444,"width":0.0515625,"height":0.013888889},"value":"StageUpda","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.21367188,"top":0.26319444,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.22539063,"top":0.26319444,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.23554687,"top":0.26319444,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.24570313,"top":0.26319444,"width":0.00859375,"height":0.015277778},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.23320313,"top":1.0,"width":0.00859375,"height":0.0},"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/1","depth":4,"bounds":{"left":0.26171875,"top":0.2625,"width":0.030078124,"height":0.015277778},"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.29179686,"top":0.26180556,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"bounds":{"left":0.30195314,"top":0.26180556,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"bounds":{"left":0.31210938,"top":0.26180556,"width":0.01015625,"height":0.016666668},"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
9089265786081429917
|
-8276124325255592122
|
click
|
hybrid
|
NULL
|
Project: faVsco.js, menu
#11894 on JY-18909-automa Project: faVsco.js, menu
#11894 on JY-18909-automated-reports-ask-jiminny, menu
Start Listening for PHP Debug Connections
AutomatedReportsCommandTest
Run 'AutomatedReportsCommandTest'
Debug 'AutomatedReportsCommandTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
StageUpda
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
PhpStormFileEditViewFV faVsco.s vNavigateCodeLaravelRefactor#11894 on JY-18909-automated-reports-ask-iminny kToolsWindowHelpProjectvVJUNTILIGIUIIN© Language.php© LanguageDialect.php© Lead.php© MobileSetting.php© Model.php© Moment.php© Nudge.phpC NudgeRun.php© Opportunity.php© Participant.php© Partner.php© Permission.php© PhoneNumber.php© PlaybackTheme.php© Playbook.php© PlaybookCategory.php© Playlist.php(C) RateLimit.php© Region.php(C) Role.php© RoleChangeEvent.php© ScopeGroup.php© Session.php© SlackBot.php© SocialAccount.php© Stage.php© Task.php© Team.php© TeamAiContext.php© TeamDomain.php© TeamFeature.php© TeamSettings.php© TextRelay.php© Track.php© TranscriptionModel.php© TranscriptionModelLocale.php© TranscriptionProvider.php© User.php©UserSettings.php© Vocabulary.php©) VocabularyPronunciation.ohp© VoiceAccess.phpVoiceConsentPrefix.php> D Notifications› D Observers› C Policies• C Providers© ActivityServiceProvider.php© ApiServiceProvider.php© AppServiceProvider.phpAuthServiceProvider.php© BroadcastServiceProvider.php© CalendarServiceProvider.php© CreateParticipantsServiceProvid© CrmServiceProvider.php© EncryptionServiceProvider.php© EventServiceProvider.php© HubspotJournalServiceProvider.© HubspotWebhookServiceProvidi© AutomatedReportsService.php© ReportController.php• Filesystem.phpC Team.php© SendReportJob.php© SendReportMailJob.phpTokenBuilder.phpC TeamSetupController.phpphp api.php© AskJiminnyReportsController.php© AutomatedReportsSendCommand.php© AutomatedReportsRepository.php© CreateHeldActivityEvent.phpC TrackProviderInstalledEvent.phpc UserPilotAcuiviiyListener.ono© ActivityLogged.phpAutomatedRenortscallbackService.ono© RequestGenerateReportJob.php© SyncOpportunity.phpC Opportunity.php(C) OpportunityUpdated.php© RequestGenerateAskJiminnyReportJob.php© OpportunitySyncTrait.php(C) OpportunityStageUpdated.php© EventServiceProvider.php *T HasAttributes.phpStageUpda© OpportunityPendingAiAnalysisAfterStageChanged.php© Service.php© AutomatedReportResult.phpcc w .*© AutomatedReport.phpclass -ventservcerrovlder extenos servcerrovldenm A7 ^714715716* Manually start the AiAutomation analysis. Mimics the end of proc 1563Events\Activities\AiAutomation\ManualTriggerForAnalysis::class => [ 1565Component \AiAutomation\Listeners\PendingAnalysis\ActivityPendin 1566* Conference activity is imported. Validate if we need to send it72510/0Events\Activities\AiAutomation\ConferenceActivityImported::class =>1571Component\AiAutomation\Listeners\PendingAnalysis\ActivityPendin 157215731574**1575* An opportunity stage has changed. Validate if we need to send it 15761577Events\Crm\OpportunityStageUpdated: :class => [731Component\AiAutomation\Listeners\PendingAnalysis\0pportunityPen 1579732158015811582=1583735736737738739/*** Manage the system layout for AI Automation.*/Events \Activities\AiAutomation\TemplateFieldsUpdated::class →> [Component \AiAutomation\Listeners\Layout\PrepareAiTemplateSystem 1586* AiAutomation analysis is saved in db, and pending to be processe 1590* potentially even sent to the CRM depending on flags and current*/748Events\Activities\AiAutomation\AiAutomationAnalysisReady::class =>Component\AiAutomation\Listeners\ProcessAiAutomationAnalysisRes 15941595=15961597* Trigger AiAutomation analysis if Task or Event is assigned to th 15981599Events\Activities\ActivityCrmProvidedUpdated: :class => [Component \AiAutomation\Listeners\PendingAnalysis\ActivityPendin754/**Helper Code will help IDE to understand your Laravel app code. // Generate // Don't Show Anymore (today 8:59)* Handle CRM field validation failures from Salesforce.= custom.log= laravel.log< Hs local liminnyalocalnostiV connect.vueA console [PROD]V Onboard.vueA console [STAGING]15521554100/1o584 SF [jiminny@localhost]C* scratch_1.jsonL console [EU] Xfini crm configurations [EUlIx. AutovHaycroundvselect * from contacts cwhere c.crm_configuration_id = 370 order by c.updated_at desc;Ma lminny v026 49 A22 X3 X 103 ^SELECT * FROM participants where activity_ id = 38833541;SELECT * FROM participants where activity_id = 39216301;SELECT * FROM activity_summary_logs where activity_id = 39216301;SELECT * FROM activities WHERE uvid_to_bin('c7d99fbe-1fb1-41f2-8f4d-52e2bf70e1e9') = vuid; # 38833541, tiSELECT * FROM activities WHERE uvid_to_bin('2e6ff4d3-9faa-447a-a8c1-9acde4d885ae') = vuid;# 07210501, Cselect * fromcrm_profiles where crm_configuration_id = 319 and crm_provider_id = 525785080;select * fromopportunities where crm_configuration_id = 319 and crm_provider_id = 410150124747;select * from accounts where crm_configuration_id = 319 and crm_provider_id = 47150650569;select * from contacts where crm_configuration_id = 319 and crm_provider_id IN ('665587441856',# owner 13236 525785080# contact 116779180 665587441856 - activity - Alex Howes [EMAIL] created 2026-01-26# contact 219247563 742723347700 - [EMAIL] 2026-03-24# company 4176155 47150650564…deal 700455 410150174744ISELELCONCAT(u.id, CASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,urelan t.sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJOIN teams t 1..n<->1: on t.id = u.team_idWHERE u.team_id = 400 and sa.provider = 'hukspot':select * from features;select * from team_features where feature_id = 40;Iselect * from teams where id = 556: # owner: 18101.CMlr 4/4Iselect * from crm confiqurations where id = 477:SELECT * FROM users WHERE id = 18101;SELECTCONCAT(u.id, LASE WHEN U.id = t.owner_id THEN ' (owner)' ELSE "' END) AS User_id,u.email,sa.*,t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idJUIN ceams t n<→>l on t.1d = U.ceam_1dWHERE U.team_1d = 556 and sa.provider = "integracion-appiselect * from opportunitieswhere id = 7594349;select * from stages where team id = 459:select * from teams where id = 459;SELECTCONCAT(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 saJOIN users u on u.id = sa.sociable_idJUIN teams t n<→>l on t.1d = U.ceam_10WHERE U.Ceam_1d = 45% and sa.provider = 'nupspor :Backend Chapter • 20 m leftAL AutomatedReportsCommandTestv100% 145Fri 17 Apr 11:10:45CascadeAutomated Report Retrsearched imporstages in apo(43Investigating HubSpot+D ...Now let me look at the reso lveßusinessProcess path more caretully - specifically what triggers repeatedamportolages calls witnout new webnlookswreao Oooonunivsync raltonoNow can see tne oue cleary. Look ar reso vestaceu auiines yo-yoePoad OnnortunitvSvnc rait ohn * 1.501Found it. There are two bugs in resolveStage():Root CauseBug 1: importStages result is ignored — OpportunitySyncTrait. php: 961-9690 phpif ($stage == null) ‹$this->importStages(null, $stageld); // return value discarded!if ($stage === null) { // always true - $stage was never reassigned$this->logger→>info('[HubSpot] Stage does not exist → ' . $stageid);$this->cachedStages [$cacheKey] = $stage; // caches nullThe return value of importstages() is thrown away, $stage is never reassigned, so:1. importStages is called every time (no stage miss cached properly)2. null is cached - but Bug 2 means the cache never helps anywayBug 2: nult is cached - line 969 caches null for missing stages. So the next deal with the same stagewill hit the cache and get null, skip the import, but the first deal in each batch still triggers the HubSpotAPI CalIActually re-reading - the cache does prevent repeated calls within a single sync run for the same stage.But every new job/sync run resets $cachedStages = []. so for scheduled sync jobs (e.g. SyncTeamMetadata), each run callis importStages for every deal with an unknown stageThe Real Scenariosince vou're seelne Trecuent imoortstaces cals winoutnew weonooks, the likelv triocers are1. SyncleamMetadata Job — runs on a schedule and calls importstages( directly (syncleammetadata.php:100)2. Periodic opportunity sync - syncOpporcunicles orocesses many ceals, eaen calline reso lvestaae() → for any deal whose stage isn't in DB, importStages fires3. The fix bug: after importStages runs, $stage is still null - it never re-queries the DB - so thesace•esskodeo opoonunilv mav de skilooeo or saveo Winouu stage 10, ano the nex Svnc runhits the same stage again, creating an infinite loop of unnecessary imports0 phpif ($stage == null) ‹sstage = schis→>importstages null, sstageld:Assien tne return value so. a te staceis used il toune, o lleels propelly cacnea, c tne oeponunilyIsn't skiooed unnecessarilv.Would you like me to apply this fix?ta all**What will happen if|+ ‹› CodeClaude Sonnet 4.6W Windsurf Teams132:111/2 chars, 2 line breaksulr-o( 4 spaces...
|
NULL
|
|
23257
|
502
|
51
|
2026-04-15T11:18:08.250405+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776251888250_m1.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+SlackFileEditEDHomeDMsActivityFilesLater..•More+V +SlackFileEditEDHomeDMsActivityFilesLater..•More+ViewGoHistoryWindowHelp→CSearch Jiminny IncJiminny ...sos+# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Direct messagesStoyan TanevVesGalya DimitrovaAneliya Angelova, ...Vasil Vasilev XSteliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaD. Nikolay Nikolov2 Galya Dimitrova, Ni...#: AppsJira CloudToast# releases8 226 0• Messages@ Files3 Bookmarks+07832f2e - JY-204/9• Iranscript downloadPDF optimizeToday~adfb58d3 - JY-20479: Adjust table stylings3bcf892f - JY-20479: Adjust table stylingscaa07f29 - Merge branch 'master' into JY-20479-optimize-transcript-pdf-download55f628c0 - JY-20479: Adjust table stylingsShow more( jiminny/app Added by GitHubCircleCl APP12:51 PMDeployment Successful!Project: appWhen:04/15/202609:51:25Tag:View JobGitHub APP1:53 PM2 new commits pushed to master by des-d0344ab16 - JY-20151: Enhance waveformdisplay with talk-to-listen ratio and stylingadjustments3c043232 - Merge pull request #11967from jiminny/JY-20151-add-talk-to-listen-to-the-waveformjiminny/app| Added by GitHubMessage #releasesAaNew(alolSupport Daily • in 42 mRActivity MonitorAll ProcessesProcess NameBoosteroidWindowServerFirefoxCP Isolated Web ContentFirefoxFirefoxFirefoxCP Isolated Web ContentCursorUlViewService (Not Responding)VTDecoderXPCServiceFirefox GPU HelperFirefox GPU HelperFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)FirefoxCP Isolated Web ContentclaudeNotion Helper (Renderer)FirefoxCP Isolated Web ContentClaude Helper (Renderer)iTerm2FirefoxCP Isolated Web ContentNotion Calendar Helper (GPU)FirefoxCP Isolated Web ContentMem...2,13 GB1,10 GB960,6 MB907,9 MB835,0 MB779,6 MB767,7 MB592,4 MB544,3 MB522,0 MB496,0 MB437,6 MB434,8 MB428,1 MB424,3 MB400,8 MB382,0 MB371,9 MB346,7 MB342,1 MB326,2 MB303,0 MB294,4 MB256,3 MB250,0 MB237,8 MB200,4 MB194,6 MBMEMORY PRESSUREPhysical Memory:Memory Used:Cached Files:Swap Used:100% <478Wed 15 Apr 14:18:08CPUMemoryDiskThreads38232674842511262925232616252726221524132028156261327EnergyPorts61219 2441257321 20512419 446167253242126118124200123125127118176120723141252081 786122170126PID83696407429748014146644203084283701146738019367133548035831418633527643652430164817326548368985091011483583360519487856138265344829816,00 GB13,93 GB <2,02 GB3,07 GBApp Memory:Wired Memory:Compressed:NetworkUserlukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas4,54 GB2,97 GB5,88 GB...
|
NULL
|
9089222931821214312
|
NULL
|
click
|
ocr
|
NULL
|
+SlackFileEditEDHomeDMsActivityFilesLater..•More+V +SlackFileEditEDHomeDMsActivityFilesLater..•More+ViewGoHistoryWindowHelp→CSearch Jiminny IncJiminny ...sos+# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Direct messagesStoyan TanevVesGalya DimitrovaAneliya Angelova, ...Vasil Vasilev XSteliyan GeorgievAdelina Petrova, Ili...P. Adelina PetrovaD. Nikolay Nikolov2 Galya Dimitrova, Ni...#: AppsJira CloudToast# releases8 226 0• Messages@ Files3 Bookmarks+07832f2e - JY-204/9• Iranscript downloadPDF optimizeToday~adfb58d3 - JY-20479: Adjust table stylings3bcf892f - JY-20479: Adjust table stylingscaa07f29 - Merge branch 'master' into JY-20479-optimize-transcript-pdf-download55f628c0 - JY-20479: Adjust table stylingsShow more( jiminny/app Added by GitHubCircleCl APP12:51 PMDeployment Successful!Project: appWhen:04/15/202609:51:25Tag:View JobGitHub APP1:53 PM2 new commits pushed to master by des-d0344ab16 - JY-20151: Enhance waveformdisplay with talk-to-listen ratio and stylingadjustments3c043232 - Merge pull request #11967from jiminny/JY-20151-add-talk-to-listen-to-the-waveformjiminny/app| Added by GitHubMessage #releasesAaNew(alolSupport Daily • in 42 mRActivity MonitorAll ProcessesProcess NameBoosteroidWindowServerFirefoxCP Isolated Web ContentFirefoxFirefoxFirefoxCP Isolated Web ContentCursorUlViewService (Not Responding)VTDecoderXPCServiceFirefox GPU HelperFirefox GPU HelperFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentSlack Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentNotion Calendar Helper (Renderer)FirefoxCP Isolated Web ContentclaudeNotion Helper (Renderer)FirefoxCP Isolated Web ContentClaude Helper (Renderer)iTerm2FirefoxCP Isolated Web ContentNotion Calendar Helper (GPU)FirefoxCP Isolated Web ContentMem...2,13 GB1,10 GB960,6 MB907,9 MB835,0 MB779,6 MB767,7 MB592,4 MB544,3 MB522,0 MB496,0 MB437,6 MB434,8 MB428,1 MB424,3 MB400,8 MB382,0 MB371,9 MB346,7 MB342,1 MB326,2 MB303,0 MB294,4 MB256,3 MB250,0 MB237,8 MB200,4 MB194,6 MBMEMORY PRESSUREPhysical Memory:Memory Used:Cached Files:Swap Used:100% <478Wed 15 Apr 14:18:08CPUMemoryDiskThreads38232674842511262925232616252726221524132028156261327EnergyPorts61219 2441257321 20512419 446167253242126118124200123125127118176120723141252081 786122170126PID83696407429748014146644203084283701146738019367133548035831418633527643652430164817326548368985091011483583360519487856138265344829816,00 GB13,93 GB <2,02 GB3,07 GBApp Memory:Wired Memory:Compressed:NetworkUserlukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas4,54 GB2,97 GB5,88 GB...
|
23255
|
|
77903
|
1967
|
31
|
2026-04-24T10:43:56.982009+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-24/1777 /Users/lukas/.screenpipe/data/data/2026-04-24/1777027436982_m1.jpg...
|
Finder
|
Test
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Favourites
jiminny
AirDrop
Recents
Applications
Do Favourites
jiminny
AirDrop
Recents
Applications
Documents
Downloads
lukas
iCloud
iCloud Drive
Sync folder
Locations
DXP4800PLUS-B5F
Eject
Network
Tags
CRM
Orange
Red
Yellow
Green
Blue
Purple
All Tags…
Name
Date Modified
Size
Kind
Jazyky
16 Mar 2026 at 10:32
82,19 GB
Folder
#recycle
11 Apr 2026 at 15:53
76,94 GB
Folder
SyncData
20 Apr 2026 at 21:09
36,64 GB
Folder
screenpipe
Today at 9:35
19,29 GB
Folder
db.sqlite
22 Apr 2026 at 20:35
6,64 GB
Document
archive.db
Today at 9:35
6,48 GB
Document
data
Today at 9:36
6,18 GB
Folder
pipes
11 Apr 2026 at 16:51
13 KB
Folder
screenpipe-day.sh
11 Apr 2026 at 17:00
3 KB
Terminal scripts
screenpipe.db
13 Apr 2026 at 17:21
Zero bytes
Document
test_write
11 Apr 2026 at 17:26
Zero bytes
Unix Executable File
Škola
28 Jan 2026 at 19:56
8,3 GB
Folder
Computer Science
22 Nov 2025 at 14:17
7,54 GB...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Favourites","depth":6,"automation_id":"xSidebarHeader","role_description":"text"},{"role":"AXStaticText","text":"jiminny","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"AirDrop","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Recents","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Applications","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Documents","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Downloads","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"lukas","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"iCloud","depth":6,"automation_id":"xSidebarHeader","role_description":"text"},{"role":"AXStaticText","text":"iCloud Drive","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Sync folder","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Locations","depth":6,"automation_id":"xSidebarHeader","role_description":"text"},{"role":"AXStaticText","text":"DXP4800PLUS-B5F","depth":6,"role_description":"text"},{"role":"AXButton","text":"Eject","depth":6,"role_description":"button","is_enabled":true,"is_focused":false},{"role":"AXStaticText","text":"Network","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Tags","depth":6,"automation_id":"xSidebarHeader","role_description":"text"},{"role":"AXStaticText","text":"CRM","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Orange","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Red","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Yellow","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Green","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Blue","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Purple","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"All Tags…","depth":6,"role_description":"text"},{"role":"AXStaticText","text":"Name","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Date Modified","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Size","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Kind","depth":7,"role_description":"text"},{"role":"AXTextField","text":"Jazyky","depth":7,"value":"Jazyky","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"16 Mar 2026 at 10:32","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"82,19 GB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":7,"role_description":"text"},{"role":"AXTextField","text":"#recycle","depth":7,"value":"#recycle","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"11 Apr 2026 at 15:53","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"76,94 GB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":7,"role_description":"text"},{"role":"AXTextField","text":"SyncData","depth":7,"value":"SyncData","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"20 Apr 2026 at 21:09","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"36,64 GB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":7,"role_description":"text"},{"role":"AXTextField","text":"screenpipe","depth":7,"value":"screenpipe","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Today at 9:35","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"19,29 GB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":7,"role_description":"text"},{"role":"AXTextField","text":"db.sqlite","depth":7,"value":"db.sqlite","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"22 Apr 2026 at 20:35","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"6,64 GB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Document","depth":7,"role_description":"text"},{"role":"AXTextField","text":"archive.db","depth":7,"value":"archive.db","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Today at 9:35","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"6,48 GB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Document","depth":7,"role_description":"text"},{"role":"AXTextField","text":"data","depth":7,"value":"data","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Today at 9:36","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"6,18 GB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":7,"role_description":"text"},{"role":"AXTextField","text":"pipes","depth":7,"value":"pipes","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"11 Apr 2026 at 16:51","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"13 KB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":7,"role_description":"text"},{"role":"AXTextField","text":"screenpipe-day.sh","depth":7,"value":"screenpipe-day.sh","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"11 Apr 2026 at 17:00","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"3 KB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Terminal scripts","depth":7,"role_description":"text"},{"role":"AXTextField","text":"screenpipe.db","depth":7,"value":"screenpipe.db","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"13 Apr 2026 at 17:21","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Zero bytes","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Document","depth":7,"role_description":"text"},{"role":"AXTextField","text":"test_write","depth":7,"value":"test_write","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"11 Apr 2026 at 17:26","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Zero bytes","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Unix Executable File","depth":7,"role_description":"text"},{"role":"AXTextField","text":"Škola","depth":7,"value":"Škola","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"28 Jan 2026 at 19:56","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"8,3 GB","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":7,"role_description":"text"},{"role":"AXTextField","text":"Computer Science","depth":7,"value":"Computer Science","role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"22 Nov 2025 at 14:17","depth":7,"role_description":"text"},{"role":"AXStaticText","text":"7,54 GB","depth":7,"role_description":"text"}]...
|
9089125834320790984
|
-2218563390061793341
|
click
|
accessibility
|
NULL
|
Favourites
jiminny
AirDrop
Recents
Applications
Do Favourites
jiminny
AirDrop
Recents
Applications
Documents
Downloads
lukas
iCloud
iCloud Drive
Sync folder
Locations
DXP4800PLUS-B5F
Eject
Network
Tags
CRM
Orange
Red
Yellow
Green
Blue
Purple
All Tags…
Name
Date Modified
Size
Kind
Jazyky
16 Mar 2026 at 10:32
82,19 GB
Folder
#recycle
11 Apr 2026 at 15:53
76,94 GB
Folder
SyncData
20 Apr 2026 at 21:09
36,64 GB
Folder
screenpipe
Today at 9:35
19,29 GB
Folder
db.sqlite
22 Apr 2026 at 20:35
6,64 GB
Document
archive.db
Today at 9:35
6,48 GB
Document
data
Today at 9:36
6,18 GB
Folder
pipes
11 Apr 2026 at 16:51
13 KB
Folder
screenpipe-day.sh
11 Apr 2026 at 17:00
3 KB
Terminal scripts
screenpipe.db
13 Apr 2026 at 17:21
Zero bytes
Document
test_write
11 Apr 2026 at 17:26
Zero bytes
Unix Executable File
Škola
28 Jan 2026 at 19:56
8,3 GB
Folder
Computer Science
22 Nov 2025 at 14:17
7,54 GB...
|
NULL
|
|
77788
|
1964
|
9
|
2026-04-24T10:33:36.815274+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-24/1777 /Users/lukas/.screenpipe/data/data/2026-04-24/1777026816815_m2.jpg...
|
Firefox
|
JY-20157 add not enough activities notification by JY-20157 add not enough activities notification by LakyLak · Pull Request #12011 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12011/changes#diff-f92 github.com/jiminny/app/pull/12011/changes#diff-f92a6234882a706f418b89a56d53a1ee75e31f644705a527405870b5c7e54e96...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
JY-20489 | Optimize Nudges - Phase 2 by yalokin-jiminny · Pull Request #11997 · jiminny/app
JY-20489 | Optimize Nudges - Phase 2 by yalokin-jiminny · Pull Request #11997 · jiminny/app
New Tab
New Tab
AI reports promotion pages by nikolay-yankov · Pull Request #11998 · jiminny/app
AI reports promotion pages by nikolay-yankov · Pull Request #11998 · jiminny/app
JY-20738 add debug logs on AJ report UP tracking by LakyLak · Pull Request #12013 · jiminny/app
JY-20738 add debug logs on AJ report UP tracking by LakyLak · Pull Request #12013 · jiminny/app
JY-20157 add not enough activities notification by LakyLak · Pull Request #12011 · jiminny/app
JY-20157 add not enough activities notification by LakyLak · Pull Request #12011 · jiminny/app
Close tab
Jiminny
Jiminny
Userpilot | Nudge-created
Userpilot | Nudge-created
Pipelines - jiminny/app
Pipelines - jiminny/app
Your 'Not enpough activities' report wasn't generated - [EMAIL] - Jiminny Mail
Your 'Not enpough activities' report wasn't generated - [EMAIL] - Jiminny Mail
Login | Salesforce
Login | Salesforce
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues(g then i)
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (30)
Pull requests
(
30
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality (32)
Security and quality
(
32
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20157 add not enough activities notification #12011 Edit title
JY-20157 add not enough activities notification
#
12011
Edit title
Preview
Preview
Awaiting approval
Awaiting approval
Code
Code
Open
LakyLak
LakyLak
wants to merge 4 commits into
master
master
from
JY-20157-AJ-report-not-send-notification
JY-20157-AJ-report-not-send-notification
Copy head branch name to clipboard
Lines changed: 715 additions & 49 deletions
Conversation (3)
Conversation
(
3
)
Commits (4)
Commits
(
4
)
Checks (3)
Checks
(
3
)
Files changed (13)
Files changed
(
13
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
Open
JY-20157 add not enough activities notification
JY-20157 add not enough activities notification
#
12011
All commits
All commits
LakyLak
LakyLak
wants to merge 4 commits into
master
master
from
JY-20157-AJ-report-not-send-notification
JY-20157-AJ-report-not-send-notification
Copy head branch name to clipboard
0
/
13
viewed
Awaiting approval
Awaiting approval
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
app
Console/Commands/Reports
AutomatedReportsCommand.php
AutomatedReportsCommand.php
Jobs/AutomatedReports
RequestGenerateAskJiminnyReportJob.php
RequestGenerateAskJiminnyReportJob.php
SendReportNotGeneratedMailJob.php
SendReportNotGeneratedMailJob.php
Mail/Reports
ReportNotGenerated.php
ReportNotGenerated.php
Services/Kiosk/AutomatedReports
AskJiminnyReportActivityService.php
AskJiminnyReportActivityService.php
AutomatedReportsService.php
AutomatedReportsService.php
resources/views/emails/reports
report-not-generated.blade.php
report-not-generated.blade.php
tests/Unit
Jobs/AutomatedReports
RequestGenerateAskJiminnyReportJobTest.php
RequestGenerateAskJiminnyReportJobTest.php
SendReportNotGeneratedMailJobTest.php
SendReportNotGeneratedMailJobTest.php
Mail/Reports
ReportNotGeneratedTest.php
ReportNotGeneratedTest.php
Services/Kiosk/AutomatedReports
AskJiminnyReportActivityServiceTest.php
AskJiminnyReportActivityServiceTest.php
AutomatedReportsServiceActivitiesCountTest.php
AutomatedReportsServiceActivitiesCountTest.php
AutomatedReportsServiceReportGenerationTest.php
AutomatedReportsServiceReportGenerationTest.php
Collapse file
app/Console/Commands/Reports/AutomatedReportsCommand.php
app/Console/Commands/Reports/AutomatedReportsCommand.php
app/Console/Commands/Reports/AutomatedReportsCommand.php
Copy file name to clipboard
Expand all lines: app/Console/Commands/Reports/AutomatedReportsCommand.php
Lines changed: 10 additions & 2 deletions
Not Viewed
Viewed
Comment on this file
More options
Original file line number
Original file line
Diff line number
Diff line change
@@ -61,21 +61,29 @@ public function handle(): int
61
61
62
$
now
= Carbon::
now
();
62
$
now
= Carbon::
now
();
63
$
isMonday
=
$
now
->
isMonday
();
63...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.23287898,"top":0.0518755,"width":0.07596409,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"JY-20489 | Optimize Nudges - Phase 2 by yalokin-jiminny · Pull Request #11997 · jiminny/app","depth":4,"bounds":{"left":0.23105054,"top":0.09497207,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20489 | Optimize Nudges - Phase 2 by yalokin-jiminny · Pull Request #11997 · jiminny/app","depth":5,"bounds":{"left":0.2443484,"top":0.10614525,"width":0.1619016,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.23105054,"top":0.12769353,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.2443484,"top":0.13886672,"width":0.014960106,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"AI reports promotion pages by nikolay-yankov · Pull Request #11998 · jiminny/app","depth":4,"bounds":{"left":0.23105054,"top":0.16041501,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AI reports promotion pages by nikolay-yankov · Pull Request #11998 · jiminny/app","depth":5,"bounds":{"left":0.2443484,"top":0.17158818,"width":0.14128989,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20738 add debug logs on AJ report UP tracking by LakyLak · Pull Request #12013 · jiminny/app","depth":4,"bounds":{"left":0.23105054,"top":0.19313647,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20738 add debug logs on AJ report UP tracking by LakyLak · Pull Request #12013 · jiminny/app","depth":5,"bounds":{"left":0.2443484,"top":0.20430966,"width":0.17087767,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20157 add not enough activities notification by LakyLak · Pull Request #12011 · jiminny/app","depth":4,"bounds":{"left":0.23105054,"top":0.22585794,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"JY-20157 add not enough activities notification by LakyLak · Pull Request #12011 · jiminny/app","depth":5,"bounds":{"left":0.2443484,"top":0.23703113,"width":0.16356383,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.29837102,"top":0.2330407,"width":0.007978723,"height":0.01915403},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jiminny","depth":4,"bounds":{"left":0.23105054,"top":0.2585794,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jiminny","depth":5,"bounds":{"left":0.2443484,"top":0.2697526,"width":0.013131649,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Userpilot | Nudge-created","depth":4,"bounds":{"left":0.23105054,"top":0.29130086,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Userpilot | Nudge-created","depth":5,"bounds":{"left":0.2443484,"top":0.30247405,"width":0.04537899,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.23105054,"top":0.32402235,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.2443484,"top":0.33519554,"width":0.039228722,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Your 'Not enpough activities' report wasn't generated - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.23105054,"top":0.3567438,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your 'Not enpough activities' report wasn't generated - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.2443484,"top":0.367917,"width":0.16821809,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Login | Salesforce","depth":4,"bounds":{"left":0.23105054,"top":0.38946527,"width":0.07962101,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Login | Salesforce","depth":5,"bounds":{"left":0.2443484,"top":0.40063846,"width":0.030917553,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.23387633,"top":0.4237829,"width":0.07413564,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.23387633,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.24484707,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.25598404,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.26712102,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.27825797,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":6,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":7,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Issues(g then i)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Pull requests","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Repositories","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":9,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (30)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"30","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality (32)","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"32","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":10,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":9,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"JY-20157 add not enough activities notification #12011 Edit title","depth":13,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"JY-20157 add not enough activities notification","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12011","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Preview","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Preview","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Awaiting approval","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Awaiting approval","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":13,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"LakyLak","depth":15,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LakyLak","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 4 commits into","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20157-AJ-report-not-send-notification","depth":16,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20157-AJ-report-not-send-notification","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 715 additions & 49 deletions","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation (3)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Conversation","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (4)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"4","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks (3)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed (13)","depth":16,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Files changed","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Pull Request Toolbar","depth":14,"bounds":{"left":0.32130983,"top":0.18036711,"width":0.0003324468,"height":0.0007980846},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Pull Request Toolbar","depth":15,"bounds":{"left":0.32130983,"top":0.18316041,"width":0.030086435,"height":0.08060654},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse file tree","depth":14,"bounds":{"left":0.32130983,"top":0.16959298,"width":0.00930851,"height":0.022346368},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"Open","depth":14,"bounds":{"left":0.34391624,"top":0.17398244,"width":0.011968086,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20157 add not enough activities notification","depth":14,"bounds":{"left":0.36253324,"top":0.16280925,"width":0.10638298,"height":0.016759777},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20157 add not enough activities notification","depth":16,"bounds":{"left":0.36253324,"top":0.16440542,"width":0.10638298,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"bounds":{"left":0.4715758,"top":0.16440542,"width":0.0028257978,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12011","depth":15,"bounds":{"left":0.4744016,"top":0.16440542,"width":0.011968086,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"All commits","depth":14,"bounds":{"left":0.35987368,"top":0.1763767,"width":0.03374335,"height":0.022346368},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All commits","depth":16,"bounds":{"left":0.3628657,"top":0.18156424,"width":0.02244016,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"LakyLak","depth":15,"bounds":{"left":0.39793882,"top":0.18036711,"width":0.016289894,"height":0.014365523},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"LakyLak","depth":16,"bounds":{"left":0.39793882,"top":0.18156424,"width":0.016289894,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 4 commits into","depth":15,"bounds":{"left":0.41555852,"top":0.18156424,"width":0.058011968,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"bounds":{"left":0.47490028,"top":0.17877094,"width":0.018284574,"height":0.017557861},"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"bounds":{"left":0.47689494,"top":0.1819633,"width":0.014295213,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"bounds":{"left":0.4945146,"top":0.18156424,"width":0.00880984,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20157-AJ-report-not-send-notification","depth":16,"bounds":{"left":0.5046542,"top":0.17877094,"width":0.09990027,"height":0.017557861},"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20157-AJ-report-not-send-notification","depth":17,"bounds":{"left":0.50664896,"top":0.1819633,"width":0.09591091,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"bounds":{"left":0.6058843,"top":0.1763767,"width":0.00930851,"height":0.022346368},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"0","depth":15,"bounds":{"left":0.81998,"top":0.17478053,"width":0.002493351,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":15,"bounds":{"left":0.8224734,"top":0.17478053,"width":0.0023271276,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"13","depth":15,"bounds":{"left":0.8259641,"top":0.17478053,"width":0.004488032,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"viewed","depth":15,"bounds":{"left":0.8316157,"top":0.17478053,"width":0.013131649,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Awaiting approval","depth":14,"bounds":{"left":0.8530585,"top":0.16959298,"width":0.04654255,"height":0.022346368},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Awaiting approval","depth":16,"bounds":{"left":0.86269945,"top":0.17478053,"width":0.033909574,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Submit review","depth":14,"bounds":{"left":0.90226066,"top":0.16959298,"width":0.03856383,"height":0.022346368},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Submit","depth":16,"bounds":{"left":0.90525264,"top":0.17478053,"width":0.014793883,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"review","depth":16,"bounds":{"left":0.92004657,"top":0.17478053,"width":0.012466756,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Open diff view settings","depth":14,"bounds":{"left":0.94348407,"top":0.16959298,"width":0.00930851,"height":0.022346368},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open overview panel","depth":14,"bounds":{"left":0.96110374,"top":0.16959298,"width":0.00930851,"height":0.022346368},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open comments panel","depth":14,"bounds":{"left":0.97174203,"top":0.16959298,"width":0.017287234,"height":0.022346368},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"(","depth":16,"bounds":{"left":0.9800532,"top":0.17478053,"width":0.0026595744,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":16,"bounds":{"left":0.98271275,"top":0.17478053,"width":0.0026595744,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":16,"bounds":{"left":0.98537236,"top":0.17478053,"width":0.0014960107,"height":0.011971269},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Filter files…","depth":16,"bounds":{"left":0.33261302,"top":0.21787709,"width":0.06815159,"height":0.023942538},"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Filter options","depth":16,"bounds":{"left":0.40375665,"top":0.21707901,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"File tree","depth":15,"bounds":{"left":0.32164228,"top":0.25538707,"width":0.0003324468,"height":0.0007980846},"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File tree","depth":16,"bounds":{"left":0.32164228,"top":0.25818038,"width":0.014295213,"height":0.0518755},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app","depth":19,"bounds":{"left":0.33759972,"top":0.26137272,"width":0.008144947,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Console/Commands/Reports","depth":21,"bounds":{"left":0.3402593,"top":0.28731045,"width":0.061336435,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"AutomatedReportsCommand.php","depth":23,"bounds":{"left":0.34291887,"top":0.31284916,"width":0.07180851,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AutomatedReportsCommand.php","depth":24,"bounds":{"left":0.34291887,"top":0.31284916,"width":0.07180851,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jobs/AutomatedReports","depth":21,"bounds":{"left":0.3402593,"top":0.33838788,"width":0.051861703,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"RequestGenerateAskJiminnyReportJob.php","depth":23,"bounds":{"left":0.34291887,"top":0.3639266,"width":0.093417555,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"RequestGenerateAskJiminnyReportJob.php","depth":24,"bounds":{"left":0.34291887,"top":0.3639266,"width":0.093417555,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SendReportNotGeneratedMailJob.php","depth":23,"bounds":{"left":0.34291887,"top":0.38946527,"width":0.08194814,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SendReportNotGeneratedMailJob.php","depth":24,"bounds":{"left":0.34291887,"top":0.38946527,"width":0.08194814,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mail/Reports","depth":21,"bounds":{"left":0.3402593,"top":0.415004,"width":0.026928192,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ReportNotGenerated.php","depth":23,"bounds":{"left":0.34291887,"top":0.44094175,"width":0.05435505,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ReportNotGenerated.php","depth":24,"bounds":{"left":0.34291887,"top":0.44094175,"width":0.05435505,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Services/Kiosk/AutomatedReports","depth":21,"bounds":{"left":0.3402593,"top":0.46648043,"width":0.072972074,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"AskJiminnyReportActivityService.php","depth":23,"bounds":{"left":0.34291887,"top":0.49201915,"width":0.08028591,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AskJiminnyReportActivityService.php","depth":24,"bounds":{"left":0.34291887,"top":0.49201915,"width":0.08028591,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"AutomatedReportsService.php","depth":23,"bounds":{"left":0.34291887,"top":0.51755786,"width":0.06582447,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AutomatedReportsService.php","depth":24,"bounds":{"left":0.34291887,"top":0.51755786,"width":0.06582447,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"resources/views/emails/reports","depth":19,"bounds":{"left":0.33759972,"top":0.54309654,"width":0.06665558,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"report-not-generated.blade.php","depth":21,"bounds":{"left":0.3402593,"top":0.56903434,"width":0.06898271,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"report-not-generated.blade.php","depth":22,"bounds":{"left":0.3402593,"top":0.56903434,"width":0.06898271,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"tests/Unit","depth":19,"bounds":{"left":0.33759972,"top":0.594573,"width":0.020777926,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jobs/AutomatedReports","depth":21,"bounds":{"left":0.3402593,"top":0.6201117,"width":0.051861703,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"RequestGenerateAskJiminnyReportJobTest.php","depth":23,"bounds":{"left":0.34291887,"top":0.6460495,"width":0.10206117,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"RequestGenerateAskJiminnyReportJobTest.php","depth":24,"bounds":{"left":0.34291887,"top":0.6460495,"width":0.10206117,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"SendReportNotGeneratedMailJobTest.php","depth":23,"bounds":{"left":0.34291887,"top":0.6715882,"width":0.09059176,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SendReportNotGeneratedMailJobTest.php","depth":24,"bounds":{"left":0.34291887,"top":0.6715882,"width":0.09059176,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mail/Reports","depth":21,"bounds":{"left":0.3402593,"top":0.6971269,"width":0.026928192,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ReportNotGeneratedTest.php","depth":23,"bounds":{"left":0.34291887,"top":0.7226656,"width":0.06333112,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ReportNotGeneratedTest.php","depth":24,"bounds":{"left":0.34291887,"top":0.7226656,"width":0.06333112,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Services/Kiosk/AutomatedReports","depth":21,"bounds":{"left":0.3402593,"top":0.7482043,"width":0.072972074,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"AskJiminnyReportActivityServiceTest.php","depth":23,"bounds":{"left":0.34291887,"top":0.7741421,"width":0.08892952,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AskJiminnyReportActivityServiceTest.php","depth":24,"bounds":{"left":0.34291887,"top":0.7741421,"width":0.08892952,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"AutomatedReportsServiceActivitiesCountTest.php","depth":23,"bounds":{"left":0.34291887,"top":0.79968077,"width":0.10721409,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AutomatedReportsServiceActivitiesCountTest.php","depth":24,"bounds":{"left":0.34291887,"top":0.79968077,"width":0.10721409,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"AutomatedReportsServiceReportGenerationTest.php","depth":23,"bounds":{"left":0.34291887,"top":0.82521945,"width":0.11269947,"height":0.013567438},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"AutomatedReportsServiceReportGenerationTest.php","depth":24,"bounds":{"left":0.34291887,"top":0.82521945,"width":0.11269947,"height":0.013567438},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse file","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"app/Console/Commands/Reports/AutomatedReportsCommand.php","depth":15,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"app/Console/Commands/Reports/AutomatedReportsCommand.php","depth":16,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app/Console/Commands/Reports/AutomatedReportsCommand.php","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy file name to clipboard","depth":15,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Expand all lines: app/Console/Commands/Reports/AutomatedReportsCommand.php","depth":15,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 10 additions & 2 deletions","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Not Viewed","depth":14,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Viewed","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Comment on this file","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"More options","depth":14,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Original file line number","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Diff line number","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Diff line change","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"@@ -61,21 +61,29 @@ public function handle(): int","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"61","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"61","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"62","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"now","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"= Carbon::","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"now","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"();","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"62","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"now","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"= Carbon::","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"now","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"();","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"63","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"isMonday","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"=","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"now","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"->","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"isMonday","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"();","depth":18,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"63","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
9089097075505397131
|
-7988400644237134738
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 2 Q2 - Platform Team - Scrum Board Platform Sprint 2 Q2 - Platform Team - Scrum Board - Jira
JY-20489 | Optimize Nudges - Phase 2 by yalokin-jiminny · Pull Request #11997 · jiminny/app
JY-20489 | Optimize Nudges - Phase 2 by yalokin-jiminny · Pull Request #11997 · jiminny/app
New Tab
New Tab
AI reports promotion pages by nikolay-yankov · Pull Request #11998 · jiminny/app
AI reports promotion pages by nikolay-yankov · Pull Request #11998 · jiminny/app
JY-20738 add debug logs on AJ report UP tracking by LakyLak · Pull Request #12013 · jiminny/app
JY-20738 add debug logs on AJ report UP tracking by LakyLak · Pull Request #12013 · jiminny/app
JY-20157 add not enough activities notification by LakyLak · Pull Request #12011 · jiminny/app
JY-20157 add not enough activities notification by LakyLak · Pull Request #12011 · jiminny/app
Close tab
Jiminny
Jiminny
Userpilot | Nudge-created
Userpilot | Nudge-created
Pipelines - jiminny/app
Pipelines - jiminny/app
Your 'Not enpough activities' report wasn't generated - [EMAIL] - Jiminny Mail
Your 'Not enpough activities' report wasn't generated - [EMAIL] - Jiminny Mail
Login | Salesforce
Login | Salesforce
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
Issues(g then i)
Pull requests
Repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (30)
Pull requests
(
30
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality (32)
Security and quality
(
32
)
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY-20157 add not enough activities notification #12011 Edit title
JY-20157 add not enough activities notification
#
12011
Edit title
Preview
Preview
Awaiting approval
Awaiting approval
Code
Code
Open
LakyLak
LakyLak
wants to merge 4 commits into
master
master
from
JY-20157-AJ-report-not-send-notification
JY-20157-AJ-report-not-send-notification
Copy head branch name to clipboard
Lines changed: 715 additions & 49 deletions
Conversation (3)
Conversation
(
3
)
Commits (4)
Commits
(
4
)
Checks (3)
Checks
(
3
)
Files changed (13)
Files changed
(
13
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
Open
JY-20157 add not enough activities notification
JY-20157 add not enough activities notification
#
12011
All commits
All commits
LakyLak
LakyLak
wants to merge 4 commits into
master
master
from
JY-20157-AJ-report-not-send-notification
JY-20157-AJ-report-not-send-notification
Copy head branch name to clipboard
0
/
13
viewed
Awaiting approval
Awaiting approval
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
app
Console/Commands/Reports
AutomatedReportsCommand.php
AutomatedReportsCommand.php
Jobs/AutomatedReports
RequestGenerateAskJiminnyReportJob.php
RequestGenerateAskJiminnyReportJob.php
SendReportNotGeneratedMailJob.php
SendReportNotGeneratedMailJob.php
Mail/Reports
ReportNotGenerated.php
ReportNotGenerated.php
Services/Kiosk/AutomatedReports
AskJiminnyReportActivityService.php
AskJiminnyReportActivityService.php
AutomatedReportsService.php
AutomatedReportsService.php
resources/views/emails/reports
report-not-generated.blade.php
report-not-generated.blade.php
tests/Unit
Jobs/AutomatedReports
RequestGenerateAskJiminnyReportJobTest.php
RequestGenerateAskJiminnyReportJobTest.php
SendReportNotGeneratedMailJobTest.php
SendReportNotGeneratedMailJobTest.php
Mail/Reports
ReportNotGeneratedTest.php
ReportNotGeneratedTest.php
Services/Kiosk/AutomatedReports
AskJiminnyReportActivityServiceTest.php
AskJiminnyReportActivityServiceTest.php
AutomatedReportsServiceActivitiesCountTest.php
AutomatedReportsServiceActivitiesCountTest.php
AutomatedReportsServiceReportGenerationTest.php
AutomatedReportsServiceReportGenerationTest.php
Collapse file
app/Console/Commands/Reports/AutomatedReportsCommand.php
app/Console/Commands/Reports/AutomatedReportsCommand.php
app/Console/Commands/Reports/AutomatedReportsCommand.php
Copy file name to clipboard
Expand all lines: app/Console/Commands/Reports/AutomatedReportsCommand.php
Lines changed: 10 additions & 2 deletions
Not Viewed
Viewed
Comment on this file
More options
Original file line number
Original file line
Diff line number
Diff line change
@@ -61,21 +61,29 @@ public function handle(): int
61
61
62
$
now
= Carbon::
now
();
62
$
now
= Carbon::
now
();
63
$
isMonday
=
$
now
->
isMonday
();
63...
|
77787
|
|
17398
|
376
|
11
|
2026-04-14T15:46:49.130733+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776181609130_m1.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
+SlackFileEditViewGoEDHomeDMsActivityFilesLater..• +SlackFileEditViewGoEDHomeDMsActivityFilesLater..•More+HistoryWindowHelp→CSearch Jiminny IncJiminny ...sos+# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Direct messagesAneliya Angelova, ...Vasil VasilevSteliyan GeorgievAdelina Petrova, Ili...Ro Adelina Petrova% Galya DimitrovaRs Nikolay Nikolov "2Galya Dimitrova, Ni...2Galya Dimitrova, Ni...i: AppsJira CloudToastGoogle Cale...Aneliya Angelova, ...86 0• MessagesAdd canvasO Files+предполагчямаме в шрифта наTodayПДФ-а. Не --, рен какво да гиправя?@Nikolay Yankov, някой от горните ли имашпредвид или трето? (edited)Nikolay Yankov 4:09 PMпоследния дето пратихSteliyan Georgiev 4:09 PMда, за него говоря и азNikolay Yankov 4:10 PMможе би да ги скипваме такива emojis* 1да не пречат на процесването и отговораSteliyan Georgiev 4:10 PMне сьм много сигурен какkaLukas Kovalik 5:41 PMсега ще го добавя това за disable on expired,после може да се тества по сьщия начинкато генериране сьс сьщата командаH1NewNikolay Yankov 6:14 PMпушнах фикса за delete да маха реда отраблицатаMessage Aneliya Angelova, Nikolay Yankov, Steli...+(lol14Activity MonitorAll ProcessesProcess NameBoosteroidFirefoxCP Isolated Web ContentWindowServerFirefoxFirefoxFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentCursorUlViewService (Not Responding)Notion Calendar Helper (Renderer)VTDecoderXPCServiceSlack Helper (Renderer)Firefox GPU HelperFirefox GPU HelperNotion Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentclaudeMEMORY PRESSUREMem...2,02 GB1,18 GB991,3 MB888,4 MB772,5 MB766,0 MB734,7 MB732,4 MB636,9 MB601,1 MB592,4 MB548,7 MB547,1 MB541,6 MB495,5 MB484,7 MB475,3 MB450,2 MB417,8 MB384,5 MB383,5 MB381,2 MB373,2 MB341,4 MB335,7 MB321,1 MB278,9 MB277,9 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% C4Tue 14 Apr 18:46:48CPUMemoryDiskThreads372422817330252515111527272129232525242727232824232513EnergyPorts59012416 13494170612712612316 440172166177PID248351470040714664801460035848495004784226548248432427380191467311487087349623340701479150891133432824628931710951120232249278005091016,00 GB14,10 GB <1,86 GB2,72 GBApp Memory:Wired Memory:Compressed:NetworkUserlukaslukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas3,71 GB2,96 GB6,89 GB...
|
NULL
|
9089063565133306788
|
NULL
|
click
|
ocr
|
NULL
|
+SlackFileEditViewGoEDHomeDMsActivityFilesLater..• +SlackFileEditViewGoEDHomeDMsActivityFilesLater..•More+HistoryWindowHelp→CSearch Jiminny IncJiminny ...sos+# general# infra-changes# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...Direct messagesAneliya Angelova, ...Vasil VasilevSteliyan GeorgievAdelina Petrova, Ili...Ro Adelina Petrova% Galya DimitrovaRs Nikolay Nikolov "2Galya Dimitrova, Ni...2Galya Dimitrova, Ni...i: AppsJira CloudToastGoogle Cale...Aneliya Angelova, ...86 0• MessagesAdd canvasO Files+предполагчямаме в шрифта наTodayПДФ-а. Не --, рен какво да гиправя?@Nikolay Yankov, някой от горните ли имашпредвид или трето? (edited)Nikolay Yankov 4:09 PMпоследния дето пратихSteliyan Georgiev 4:09 PMда, за него говоря и азNikolay Yankov 4:10 PMможе би да ги скипваме такива emojis* 1да не пречат на процесването и отговораSteliyan Georgiev 4:10 PMне сьм много сигурен какkaLukas Kovalik 5:41 PMсега ще го добавя това за disable on expired,после може да се тества по сьщия начинкато генериране сьс сьщата командаH1NewNikolay Yankov 6:14 PMпушнах фикса за delete да маха реда отраблицатаMessage Aneliya Angelova, Nikolay Yankov, Steli...+(lol14Activity MonitorAll ProcessesProcess NameBoosteroidFirefoxCP Isolated Web ContentWindowServerFirefoxFirefoxFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentCursorUlViewService (Not Responding)Notion Calendar Helper (Renderer)VTDecoderXPCServiceSlack Helper (Renderer)Firefox GPU HelperFirefox GPU HelperNotion Helper (Renderer)FirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentFirefoxCP Isolated Web ContentclaudeMEMORY PRESSUREMem...2,02 GB1,18 GB991,3 MB888,4 MB772,5 MB766,0 MB734,7 MB732,4 MB636,9 MB601,1 MB592,4 MB548,7 MB547,1 MB541,6 MB495,5 MB484,7 MB475,3 MB450,2 MB417,8 MB384,5 MB383,5 MB381,2 MB373,2 MB341,4 MB335,7 MB321,1 MB278,9 MB277,9 MBPhysical Memory:Memory Used:Cached Files:Swap Used:100% C4Tue 14 Apr 18:46:48CPUMemoryDiskThreads372422817330252515111527272129232525242727232824232513EnergyPorts59012416 13494170612712612316 440172166177PID248351470040714664801460035848495004784226548248432427380191467311487087349623340701479150891133432824628931710951120232249278005091016,00 GB14,10 GB <1,86 GB2,72 GBApp Memory:Wired Memory:Compressed:NetworkUserlukaslukas_windowserverlukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukaslukas3,71 GB2,96 GB6,89 GB...
|
17396
|
|
30451
|
619
|
50
|
2026-04-15T15:04:00.594235+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776265440594_m2.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
182282246164551913122/195Imperial AgePlayer 8 Almi 182282246164551913122/195Imperial AgePlayer 8 Almish Yiltawar!!!---Halberdier Created---Villager Created---Light Cavalry Created---Elite Longbowman Created-Game Paused (P)Click to select this Gate.1 kovaliklukas: 48100/48100IVE Magnus Olafssoms 40786/40706 8 IV8 Almish Yiltawar: 37868/37868Rajyapala: 23275/23275ON6 LÁczl6 I: 12121/12424€E Maximilian of Habsbung: 6531/6531 IV3 HuaseÁn: 5931/5231NV1 Lowig VI: 5792/5702IV...
|
NULL
|
9088681230186115590
|
NULL
|
click
|
ocr
|
NULL
|
182282246164551913122/195Imperial AgePlayer 8 Almi 182282246164551913122/195Imperial AgePlayer 8 Almish Yiltawar!!!---Halberdier Created---Villager Created---Light Cavalry Created---Elite Longbowman Created-Game Paused (P)Click to select this Gate.1 kovaliklukas: 48100/48100IVE Magnus Olafssoms 40786/40706 8 IV8 Almish Yiltawar: 37868/37868Rajyapala: 23275/23275ON6 LÁczl6 I: 12121/12424€E Maximilian of Habsbung: 6531/6531 IV3 HuaseÁn: 5931/5231NV1 Lowig VI: 5792/5702IV...
|
30449
|
|
58126
|
1249
|
8
|
2026-04-20T12:24:56.518716+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-20/1776 /Users/lukas/.screenpipe/data/data/2026-04-20/1776687896518_m2.jpg...
|
PhpStorm
|
PhpStorm
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormINavigarecodeFV faVsco.js°9 master kProled PhostormINavigarecodeFV faVsco.js°9 master kProledey© SyncLeads.php© SyncObjects.phpsyncopportunitiesJob.onp© syncopportunity.ong© SyncProfileMetadata.phpcsyncleamrielasJoo.ono© SyncTeamMetadata.phpC) UpdateOpportunitySpecifications.phoC) UpdateStage.phpDealRisksW Meetina3o11 StreaminaTeamM TelenhonvM UserC BaseProcessingJob.php@ Dummv.loh.ohr© ImportRecallAlRecordingsJob.php© ImportRemoteTrackJob.phpcob.onp© JobDispatcher.php© JobDispatcherInterface.php© PurgeSoftDeletedOpportunityJob.php© SqsVisibilityControl.phpv D Listenersv @ Activitiesv @ ActivityProviden> D JustCall|v D UserPilotc) TrackProviderinstalledEvent.pho>[ Audio>W Bots> D Coachinav _ ConferencesIntercom• Planhatv UserPilotC) CreateHeldActivitvevent.ohoC.Conterencelistener.oho@ Ended.phpC Locked.ohrC) [EMAIL]© ParticipantDeclinedRecordingListener.phpC) Started nhnM ConnectionsTm CrmFollowingM Drovidors• MCocciond"C) ActivitvController.oho= custom.log=laravel.logA SF (jiminny@localhost]4 HS_local [jiminny@localhost]« console (PROD] XAskJlminnykeponscontroller.onpA console (EU]A console [STAGING)0р 0do jiminny© SyncProfileOpportunities.php•VEISELEC * FROM crm profiles WHERE crm confiquration 1d = 555034 A1 A34 V62 ^AutomatedReportsController.phpSELECT * FROM crm_configurations WHERE id = 555:567SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182C) TrackProviderInstalledEvent.phpC) RequestGenerateReportJob.phpC) AutomatedReportResult.pho568SELEC)© AutomatedReport.phpCONCAT(u.id, CASE WHEN v.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,class SyncOpportunitiesJob extends Job implements ShouldQueueMA1K1A Ysa.*t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idpublic function handledResolveTeamCrmConnection SresolveTeamCrmConnection.574JOIN teams t 1.n<->1: on t.id = u.team_idVHERE u.team_id = 581 and sa.provider = 'salesforce';LoggerInterface Slogger,57€CrmConfigurationRepository $crmConfigurationRepositorySELECT * FROM automated report results order by id desc): void 1578$startTime = microtime(as_float: true)$crmConfig = $crmConfigurationRepository->findById($this->crmConfigurationId);if (ScrmConfig === null) {$logger->error('[SyncOpportunitiesJob] CRM configuration not found', [582583"crnconticuraclonlo → schls->crnuonticuracionla1):scrmservice = sresolveleamurmconnection->resolverorleam(scrmcont10->qetleamoo5891590591"Loqger->intol''ScrmService->getDisplayNamed'team' => ScrmConfia->qetTeam@->getIdo'1 Svncina opportunities'. ['parameters' => Sthis->oarameters.59359€597$crmService->syncOpportunities(Sthis->parameters, $this->strategy):Choose DeclarationSdurationMs = roundid nunselect * from team features where feature id = 40:select * from teams where id = 556:select * from automated reports where id = 54: # 4fdd41f6-dcf0-30d0-b339-734538166044 . ["pdf" "podcasSELECT * FROM automated report results WHERE uuid to bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuilorder by id desc:SELECT * FROM automated report results WHERE id = 1919:select * from automated_report_results WHERE repont 1d = 54;select * from onnortunities where 1d = 7594349:SELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - [EMAIL] * from playbooks where team_id = 711; # event 226147SELECT * FROM playbook_categories WHERE playbook_id = 5515;RELSCT * CO0M eom fiolde WHERE 1d = 22/147•SELECT * FROM crm_field_values WHERE crm_field_id = 226147;ns WHERE id = 692›@ d syncOpportunities (Service .../app/Services/Crm/Salesforce)$logger->info('[' . $crmm d syncupportunitles (Serviceapp//Services/crm/Dummy)@ d syncOpportunities (SyncCrmEntitiesTrait.../app/Services/Crm/IntegrationApp/ServiceTraitd = t.owner id THEN ' (owner)' ELSE '• END) AS user id!'strategy' => $this-Idunation mel => Cdim d syncupportunitles (Service .../app/Services/crm/ copper)@ d syncOpportunities (Service ../app/Services/Crm/Close)1):m o svncioportunttlesaoo/Servaces/crm/BulLhorn)l@ & syncOpportunities (OpportunitySyncTrait .../app/Services/Crm/Hubspot/ServiceTraits)(m) & svncOoportunities (Servicelaon/Services/Crm/Pinedrive)@ syncOpportunities (SyncCrmEntitiesInterface.. ./app/Contracts/Services/Crm),m, & svncioportunities.aon//Contracts/Services/Crm)ounts saable_ id=u.team_idrovider = 'salesforce'!JOIN users u 1..n<->1: on u.id = co.user id WHERE u.team_id = 711:100% S2• Mon 20 Apr 15:24:56L AskJiminnyReportActivityServiceTest vCascadeRetactor ConnectionCRM Initial Sync ©+0 ..Thouaht for 1s6i Fast Context When a CRM confiauration/intearation is first connected (HubSoot. Salesforce). what initial svnc iobs are dispat..in 3.06s|Explored 2 files and searched 2 queries68 Fast Context For HubSpot and Salesforce CRM providers (not IntegrationApp), what happens when the CRM is first connecte...in 3.14sExolored ActivitvProviderintecrated.ond and searched 2 queriesRead SyncTeamMetadata.php #L64-126Now l have a comnlete nicture. Here is the overview.Initial CRM Sync OverviewThere are two distinct trigger points, and neither is the raw TeamCreated event. The CRM sync is driven by social-account connection andnrofile creation not toam croation itcolf1. TeamCreated event — no CRM data syncleamcreared.oho:9=8us.dispatched.on.team creation.and FventSeryiceprovider. 0ho.575=586 wires onlv non-CRM-data listeners iwilllo subaccount, derault layouts roldersoo wtes, intercom/Plannay Userrllot syne, temes, etc.The onlv CRM-touchina listener here is UodateSalesforceAccount.oho: 21-54, and it does not import CRM data, It onlv calls updateRecord("Accolnt', _) on Salesforce to stamp the team's Jiminny Client ID c / Tier c on an already-linked Account record (partner-specific flow; HubSpotConclusion: no CRM fetch/sync is triggered by TeamCreated itself.2. CRM is actuallv bootstraoped when the owner connects the CRM social accountTne real inital sync is driven by SocialAccountConnected → EventServiceProvider.oho:88-94:• Listeners\Crm\BootstrapIntegrationApp - only for Integration.app providers (Zoho, Copper, Pipedrive, Bullhorn flow). See BootstrapIntegnationApp.php: 27-83. lt the connecting user is the team owner and settinas.firstSync is not set, it dispatches TeamInitialSyncJob(delayed 1 min) plus SubscribeForEventsJob•TeaminitialSyncilobteamntalsynclo.0ho.38=74_callssyncoraanizationsvncProfiles. syncFieldsoandllios firstSyncet rueon the configurationFor HubSpot and Salestorce there is no dedicated CRM "Tirst sync" listener on SocialAccountConnected . The same event only triagers ActivityProviderIntegrated (ActivityProviderIntegrated.php: 26-42), and both HubSpot/Salesforce activity services implement onActivityProviderIrtearatedo as a no-oo ("Manual intearation"). The HubSoot/Salesforce initial metadata oull haopens on the reconnect oath›• CrmAccountReconnected → Listeners\ Crml ImoortMetadata ImoortMetadata.oho: 13-51) runs the artisan commands crm:svnc-team-metadata and crm:sync-profile-metadata•SvncTeamMetadata (SvncTeamMetadata.oho: 95-112) runs the heavy litting for HubSoot/Salesforce:•syncOrganizationo — e,a. HubSoot Service.oho:487-498 (oulis portal currency): Salesforce does the equivalentimportStages(), importBusinessProcesses(), importRecordTypes() - pipelines/stages + record types (HubSpot: Service.php:414-48•syncProfiles() - creates Crm\Profile rows for each CRM userAsk anvthina (84-DClaude Qnus 17 MediumWN Windsurf Teame58-22 UTF.8io 4 space:...
|
NULL
|
9088631961734540457
|
NULL
|
click
|
ocr
|
NULL
|
PhostormINavigarecodeFV faVsco.js°9 master kProled PhostormINavigarecodeFV faVsco.js°9 master kProledey© SyncLeads.php© SyncObjects.phpsyncopportunitiesJob.onp© syncopportunity.ong© SyncProfileMetadata.phpcsyncleamrielasJoo.ono© SyncTeamMetadata.phpC) UpdateOpportunitySpecifications.phoC) UpdateStage.phpDealRisksW Meetina3o11 StreaminaTeamM TelenhonvM UserC BaseProcessingJob.php@ Dummv.loh.ohr© ImportRecallAlRecordingsJob.php© ImportRemoteTrackJob.phpcob.onp© JobDispatcher.php© JobDispatcherInterface.php© PurgeSoftDeletedOpportunityJob.php© SqsVisibilityControl.phpv D Listenersv @ Activitiesv @ ActivityProviden> D JustCall|v D UserPilotc) TrackProviderinstalledEvent.pho>[ Audio>W Bots> D Coachinav _ ConferencesIntercom• Planhatv UserPilotC) CreateHeldActivitvevent.ohoC.Conterencelistener.oho@ Ended.phpC Locked.ohrC) [EMAIL]© ParticipantDeclinedRecordingListener.phpC) Started nhnM ConnectionsTm CrmFollowingM Drovidors• MCocciond"C) ActivitvController.oho= custom.log=laravel.logA SF (jiminny@localhost]4 HS_local [jiminny@localhost]« console (PROD] XAskJlminnykeponscontroller.onpA console (EU]A console [STAGING)0р 0do jiminny© SyncProfileOpportunities.php•VEISELEC * FROM crm profiles WHERE crm confiquration 1d = 555034 A1 A34 V62 ^AutomatedReportsController.phpSELECT * FROM crm_configurations WHERE id = 555:567SELECT * FROM users WHERE id = 15440; # team. 581, gr. 15440, pl. 3911, act. field 162182C) TrackProviderInstalledEvent.phpC) RequestGenerateReportJob.phpC) AutomatedReportResult.pho568SELEC)© AutomatedReport.phpCONCAT(u.id, CASE WHEN v.id = t.owner_id THEN ' (owner)' ELSE "' END) AS user_id,u.email,class SyncOpportunitiesJob extends Job implements ShouldQueueMA1K1A Ysa.*t.owner_id FROM social_accounts saJOIN users u on u.id = sa.sociable_idpublic function handledResolveTeamCrmConnection SresolveTeamCrmConnection.574JOIN teams t 1.n<->1: on t.id = u.team_idVHERE u.team_id = 581 and sa.provider = 'salesforce';LoggerInterface Slogger,57€CrmConfigurationRepository $crmConfigurationRepositorySELECT * FROM automated report results order by id desc): void 1578$startTime = microtime(as_float: true)$crmConfig = $crmConfigurationRepository->findById($this->crmConfigurationId);if (ScrmConfig === null) {$logger->error('[SyncOpportunitiesJob] CRM configuration not found', [582583"crnconticuraclonlo → schls->crnuonticuracionla1):scrmservice = sresolveleamurmconnection->resolverorleam(scrmcont10->qetleamoo5891590591"Loqger->intol''ScrmService->getDisplayNamed'team' => ScrmConfia->qetTeam@->getIdo'1 Svncina opportunities'. ['parameters' => Sthis->oarameters.59359€597$crmService->syncOpportunities(Sthis->parameters, $this->strategy):Choose DeclarationSdurationMs = roundid nunselect * from team features where feature id = 40:select * from teams where id = 556:select * from automated reports where id = 54: # 4fdd41f6-dcf0-30d0-b339-734538166044 . ["pdf" "podcasSELECT * FROM automated report results WHERE uuid to bin('822fa41b-afd3-43a9-a248-86b0e36f3131') = uuilorder by id desc:SELECT * FROM automated report results WHERE id = 1919:select * from automated_report_results WHERE repont 1d = 54;select * from onnortunities where 1d = 7594349:SELECT * FROM teams WHERE name LIKE '%Les%'; # 711, 692, 16067 - [EMAIL] * from playbooks where team_id = 711; # event 226147SELECT * FROM playbook_categories WHERE playbook_id = 5515;RELSCT * CO0M eom fiolde WHERE 1d = 22/147•SELECT * FROM crm_field_values WHERE crm_field_id = 226147;ns WHERE id = 692›@ d syncOpportunities (Service .../app/Services/Crm/Salesforce)$logger->info('[' . $crmm d syncupportunitles (Serviceapp//Services/crm/Dummy)@ d syncOpportunities (SyncCrmEntitiesTrait.../app/Services/Crm/IntegrationApp/ServiceTraitd = t.owner id THEN ' (owner)' ELSE '• END) AS user id!'strategy' => $this-Idunation mel => Cdim d syncupportunitles (Service .../app/Services/crm/ copper)@ d syncOpportunities (Service ../app/Services/Crm/Close)1):m o svncioportunttlesaoo/Servaces/crm/BulLhorn)l@ & syncOpportunities (OpportunitySyncTrait .../app/Services/Crm/Hubspot/ServiceTraits)(m) & svncOoportunities (Servicelaon/Services/Crm/Pinedrive)@ syncOpportunities (SyncCrmEntitiesInterface.. ./app/Contracts/Services/Crm),m, & svncioportunities.aon//Contracts/Services/Crm)ounts saable_ id=u.team_idrovider = 'salesforce'!JOIN users u 1..n<->1: on u.id = co.user id WHERE u.team_id = 711:100% S2• Mon 20 Apr 15:24:56L AskJiminnyReportActivityServiceTest vCascadeRetactor ConnectionCRM Initial Sync ©+0 ..Thouaht for 1s6i Fast Context When a CRM confiauration/intearation is first connected (HubSoot. Salesforce). what initial svnc iobs are dispat..in 3.06s|Explored 2 files and searched 2 queries68 Fast Context For HubSpot and Salesforce CRM providers (not IntegrationApp), what happens when the CRM is first connecte...in 3.14sExolored ActivitvProviderintecrated.ond and searched 2 queriesRead SyncTeamMetadata.php #L64-126Now l have a comnlete nicture. Here is the overview.Initial CRM Sync OverviewThere are two distinct trigger points, and neither is the raw TeamCreated event. The CRM sync is driven by social-account connection andnrofile creation not toam croation itcolf1. TeamCreated event — no CRM data syncleamcreared.oho:9=8us.dispatched.on.team creation.and FventSeryiceprovider. 0ho.575=586 wires onlv non-CRM-data listeners iwilllo subaccount, derault layouts roldersoo wtes, intercom/Plannay Userrllot syne, temes, etc.The onlv CRM-touchina listener here is UodateSalesforceAccount.oho: 21-54, and it does not import CRM data, It onlv calls updateRecord("Accolnt', _) on Salesforce to stamp the team's Jiminny Client ID c / Tier c on an already-linked Account record (partner-specific flow; HubSpotConclusion: no CRM fetch/sync is triggered by TeamCreated itself.2. CRM is actuallv bootstraoped when the owner connects the CRM social accountTne real inital sync is driven by SocialAccountConnected → EventServiceProvider.oho:88-94:• Listeners\Crm\BootstrapIntegrationApp - only for Integration.app providers (Zoho, Copper, Pipedrive, Bullhorn flow). See BootstrapIntegnationApp.php: 27-83. lt the connecting user is the team owner and settinas.firstSync is not set, it dispatches TeamInitialSyncJob(delayed 1 min) plus SubscribeForEventsJob•TeaminitialSyncilobteamntalsynclo.0ho.38=74_callssyncoraanizationsvncProfiles. syncFieldsoandllios firstSyncet rueon the configurationFor HubSpot and Salestorce there is no dedicated CRM "Tirst sync" listener on SocialAccountConnected . The same event only triagers ActivityProviderIntegrated (ActivityProviderIntegrated.php: 26-42), and both HubSpot/Salesforce activity services implement onActivityProviderIrtearatedo as a no-oo ("Manual intearation"). The HubSoot/Salesforce initial metadata oull haopens on the reconnect oath›• CrmAccountReconnected → Listeners\ Crml ImoortMetadata ImoortMetadata.oho: 13-51) runs the artisan commands crm:svnc-team-metadata and crm:sync-profile-metadata•SvncTeamMetadata (SvncTeamMetadata.oho: 95-112) runs the heavy litting for HubSoot/Salesforce:•syncOrganizationo — e,a. HubSoot Service.oho:487-498 (oulis portal currency): Salesforce does the equivalentimportStages(), importBusinessProcesses(), importRecordTypes() - pipelines/stages + record types (HubSpot: Service.php:414-48•syncProfiles() - creates Crm\Profile rows for each CRM userAsk anvthina (84-DClaude Qnus 17 MediumWN Windsurf Teame58-22 UTF.8io 4 space:...
|
NULL
|
|
57376
|
1233
|
61
|
2026-04-20T11:50:15.181328+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-20/1776 /Users/lukas/.screenpipe/data/data/2026-04-20/1776685815181_m1.jpg...
|
Firefox
|
Firefox
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp‹ $0 lil100% C47 8 Mon 20 Apr 14:50:15DEV (docker)APP (-zsh)T₴1|DOCKERDEV (docker)jiminny-worker-processing-2:jiminny-worker-processing-2_00: stoppedjiminny-worker-processing-3:jiminny-worker-processing-3_00: stoppedjiminny-worker-processing-4:jiminny-worker-processing-4_00: stoppedjiminny-worker-processing-5:jiminny-worker-processing-5_00: stoppedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: stoppedworker-analytics:worker-analytics_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-download:worker-download_00:stoppedworker-nudges:worker-nudges_00: stoppedworker-emails:worker-emails_00: stoppedworker:worker_00: stoppedworker-conferences:worker-conferences_00:stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker-audio:worker-audio_00: stoppedworker-calendar:worker-calendar_00:stoppedworker-crm-sync:worker-crm-sync_00: stoppedworker-es-update:worker-es-update_00: stoppedartisan-schedule:artisan-schedule_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1: jiminny-worker-processing-1_00: startedjiminny-worker-processing-2:jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00:startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00:startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00: startedworker-nudges:worker-nudges_00: startedroot@docker_lamp_1:/home/jiminny# php artisan activity:update-esYou are about to work on activities:willinclude soft-deleted activitiesAre you sure? (yes/no) [no]:• yesAbout to work on 63813 activities with chunk size 50! Are you sure? (yes/no) [no]:> noX3-zsh*4screenpipe"• *5DEV...
|
NULL
|
9088564207467044945
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp‹ $0 lil100% C47 8 Mon 20 Apr 14:50:15DEV (docker)APP (-zsh)T₴1|DOCKERDEV (docker)jiminny-worker-processing-2:jiminny-worker-processing-2_00: stoppedjiminny-worker-processing-3:jiminny-worker-processing-3_00: stoppedjiminny-worker-processing-4:jiminny-worker-processing-4_00: stoppedjiminny-worker-processing-5:jiminny-worker-processing-5_00: stoppedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: stoppedworker-analytics:worker-analytics_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-download:worker-download_00:stoppedworker-nudges:worker-nudges_00: stoppedworker-emails:worker-emails_00: stoppedworker:worker_00: stoppedworker-conferences:worker-conferences_00:stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_00: stoppedworker-audio:worker-audio_00: stoppedworker-calendar:worker-calendar_00:stoppedworker-crm-sync:worker-crm-sync_00: stoppedworker-es-update:worker-es-update_00: stoppedartisan-schedule:artisan-schedule_00: stoppedartisan-schedule:artisan-schedule_00: startedjiminny-worker-processing-1: jiminny-worker-processing-1_00: startedjiminny-worker-processing-2:jiminny-worker-processing-2_00: startedjiminny-worker-processing-3:jiminny-worker-processing-3_00: startedjiminny-worker-processing-4:jiminny-worker-processing-4_00: startedjiminny-worker-processing-5:jiminny-worker-processing-5_00: startedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: startedworker:worker_00: startedworker-analytics:worker-analytics_00: startedworker-audio:worker-audio_00: startedworker-calendar:worker-calendar_00:startedworker-conferences:worker-conferences_00: startedworker-crm-sync:worker-crm-sync_00: startedworker-crm-update:worker-crm-update_00: startedworker-download:worker-download_00:startedworker-emails:worker-emails_00: startedworker-es-update:worker-es-update_00: startedworker-nudges:worker-nudges_00: startedroot@docker_lamp_1:/home/jiminny# php artisan activity:update-esYou are about to work on activities:willinclude soft-deleted activitiesAre you sure? (yes/no) [no]:• yesAbout to work on 63813 activities with chunk size 50! Are you sure? (yes/no) [no]:> noX3-zsh*4screenpipe"• *5DEV...
|
57375
|
|
20085
|
431
|
22
|
2026-04-15T08:22:08.590497+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776241328590_m1.jpg...
|
Firefox
|
SQLite Web: db.sqlite — Personal
|
1
|
http://100.73.206.126:8767/tags/
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (15) - [EMAIL] - Gmail
West DXP4800PLUS-B5F8
Inbox (15) - [EMAIL] - Gmail
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 238,97 € (467,38 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 238,97 € (467,38 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
| Senetic
| Senetic
Твърд диск, Western Digital Red 6TB Plus ( 3.5", 256MB, 5400
Твърд диск, Western Digital Red 6TB Plus ( 3.5", 256MB, 5400
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Close tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
sqlite-web 0.7.2
sqlite-web 0.7.2
db.sqlite
db.sqlite
sqlite_sequence
8 rows, showing page 1
Query
Query
table name...
_sqlx_migrations
_sqlx_migrations
audio_chunks
audio_chunks
audio_tags
audio_tags
audio_transcriptions
audio_transcriptions
audio_transcriptions_fts (v)
audio_transcriptions_fts
(v)
audio_transcriptions_...
audio_transcriptions_...
audio_transcriptions_...
audio_transcriptions_...
audio_transcriptions_...
audio_transcriptions_...
elements
elements
elements_fts (v)
elements_fts
(v)
elements_fts_config
elements_fts_config
elements_fts_data
elements_fts_data
elements_fts_idx
elements_fts_idx
frames
frames
frames_fts (v)
frames_fts
(v)
frames_fts_config
frames_fts_config
frames_fts_data
frames_fts_data
frames_fts_idx
frames_fts_idx
meetings
meetings
memories
memories
memories_fts (v)
memories_fts
(v)
memories_fts_config
memories_fts_config
memories_fts_data
memories_fts_data
memories_fts_idx
memories_fts_idx
ocr_text
ocr_text
pipe_executions
pipe_executions
pipe_scheduler_state
pipe_scheduler_state
speaker_embeddings
speaker_embeddings
speakers
speakers
sqlite_sequence
sqlite_sequence
tags
tags
ui_events
ui_events
ui_events_fts (v)
ui_events_fts
(v)
ui_events_fts_config
ui_events_fts_config
ui_events_fts_data
ui_events_fts_data
ui_events_fts_idx
ui_events_fts_idx
video_chunks
video_chunks
vision_tags
vision_tags
Toggle helper tables
Toggle helper tables
Structure
Structure
Content
Content
Query
Query
Export
Export
name
name...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Inbox (15) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 238,97 € (467,38 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 238,97 € (467,38 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"| Senetic","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"| Senetic","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Твърд диск, Western Digital Red 6TB Plus ( 3.5\", 256MB, 5400","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Твърд диск, Western Digital Red 6TB Plus ( 3.5\", 256MB, 5400","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Screenpipe Dashboard","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe Dashboard","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.009027778,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.03263889,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.055555556,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.07847222,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.10208333,"top":0.0,"width":0.022222223,"height":0.035555556},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"sqlite-web 0.7.2","depth":7,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"sqlite-web 0.7.2","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"db.sqlite","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"db.sqlite","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"sqlite_sequence","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8 rows, showing page 1","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Query","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Query","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"table name...","depth":7,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"_sqlx_migrations","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"_sqlx_migrations","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"audio_chunks","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"audio_chunks","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"audio_tags","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"audio_tags","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"audio_transcriptions","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"audio_transcriptions","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"audio_transcriptions_fts (v)","depth":9,"help_text":"audio_transcriptions_fts","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"audio_transcriptions_fts","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(v)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"audio_transcriptions_...","depth":9,"help_text":"audio_transcriptions_fts_config","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"audio_transcriptions_...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"audio_transcriptions_...","depth":9,"help_text":"audio_transcriptions_fts_data","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"audio_transcriptions_...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"audio_transcriptions_...","depth":9,"help_text":"audio_transcriptions_fts_idx","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"audio_transcriptions_...","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"elements","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"elements","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"elements_fts (v)","depth":9,"help_text":"elements_fts","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"elements_fts","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(v)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"elements_fts_config","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"elements_fts_config","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"elements_fts_data","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"elements_fts_data","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"elements_fts_idx","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"elements_fts_idx","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"frames","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"frames","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"frames_fts (v)","depth":9,"help_text":"frames_fts","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"frames_fts","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(v)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"frames_fts_config","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"frames_fts_config","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"frames_fts_data","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"frames_fts_data","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"frames_fts_idx","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"frames_fts_idx","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"meetings","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"meetings","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"memories","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"memories","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"memories_fts (v)","depth":9,"help_text":"memories_fts","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"memories_fts","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(v)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"memories_fts_config","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"memories_fts_config","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"memories_fts_data","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"memories_fts_data","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"memories_fts_idx","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"memories_fts_idx","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ocr_text","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ocr_text","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"pipe_executions","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipe_executions","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"pipe_scheduler_state","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipe_scheduler_state","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"speaker_embeddings","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"speaker_embeddings","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"speakers","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"speakers","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"sqlite_sequence","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"sqlite_sequence","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"tags","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"tags","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ui_events","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ui_events","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ui_events_fts (v)","depth":9,"help_text":"ui_events_fts","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ui_events_fts","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(v)","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ui_events_fts_config","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ui_events_fts_config","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ui_events_fts_data","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ui_events_fts_data","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"ui_events_fts_idx","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"ui_events_fts_idx","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"video_chunks","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"video_chunks","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"vision_tags","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"vision_tags","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Toggle helper tables","depth":8,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Toggle helper tables","depth":9,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Structure","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Structure","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Content","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Content","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Query","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Query","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Export","depth":9,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Export","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"name","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"name","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
9088384512566782818
|
-8298912203142165821
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (15) - [EMAIL] - Gmail
West DXP4800PLUS-B5F8
Inbox (15) - [EMAIL] - Gmail
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 238,97 € (467,38 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 238,97 € (467,38 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
| Senetic
| Senetic
Твърд диск, Western Digital Red 6TB Plus ( 3.5", 256MB, 5400
Твърд диск, Western Digital Red 6TB Plus ( 3.5", 256MB, 5400
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Close tab
Screenpipe Dashboard
Screenpipe Dashboard
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
sqlite-web 0.7.2
sqlite-web 0.7.2
db.sqlite
db.sqlite
sqlite_sequence
8 rows, showing page 1
Query
Query
table name...
_sqlx_migrations
_sqlx_migrations
audio_chunks
audio_chunks
audio_tags
audio_tags
audio_transcriptions
audio_transcriptions
audio_transcriptions_fts (v)
audio_transcriptions_fts
(v)
audio_transcriptions_...
audio_transcriptions_...
audio_transcriptions_...
audio_transcriptions_...
audio_transcriptions_...
audio_transcriptions_...
elements
elements
elements_fts (v)
elements_fts
(v)
elements_fts_config
elements_fts_config
elements_fts_data
elements_fts_data
elements_fts_idx
elements_fts_idx
frames
frames
frames_fts (v)
frames_fts
(v)
frames_fts_config
frames_fts_config
frames_fts_data
frames_fts_data
frames_fts_idx
frames_fts_idx
meetings
meetings
memories
memories
memories_fts (v)
memories_fts
(v)
memories_fts_config
memories_fts_config
memories_fts_data
memories_fts_data
memories_fts_idx
memories_fts_idx
ocr_text
ocr_text
pipe_executions
pipe_executions
pipe_scheduler_state
pipe_scheduler_state
speaker_embeddings
speaker_embeddings
speakers
speakers
sqlite_sequence
sqlite_sequence
tags
tags
ui_events
ui_events
ui_events_fts (v)
ui_events_fts
(v)
ui_events_fts_config
ui_events_fts_config
ui_events_fts_data
ui_events_fts_data
ui_events_fts_idx
ui_events_fts_idx
video_chunks
video_chunks
vision_tags
vision_tags
Toggle helper tables
Toggle helper tables
Structure
Structure
Content
Content
Query
Query
Export
Export
name
name...
|
NULL
|
|
12269
|
261
|
26
|
2026-04-14T10:58:09.396109+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-14/1776 /Users/lukas/.screenpipe/data/data/2026-04-14/1776164289396_m2.jpg...
|
NULL
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelpdoo.sideme.minny.com/di-tcoorlsAl Reports• Report nameNAME -lesto- 1s Aor Zurolesto - 13 ADr 4040PeriodiSuooort Dailv . in 1h2ml(БГ)Tue 14 Apr 13:58:09You are currently impersonating Nikolay Yankov <)Report TypeS03 Ask Jiminny reportsPlatform Sprint 1 Q2 - Platform TeaJY-20543 add AJ reports User piloZ Configure SSH access to multiple@ Console Home | Console Home | u:SecurityGroup | EC2 |us-east-2JY-20543 add AJ reports User pilo5 SRD-6779 | JY-20632 | Unable toJy 19798 evaluation for ai activity& Jiminny7 Ask Jiminny test report - 8 Aor 201Service-Desk - Queues - PlatformC JY-20543 add AJ reports User pilc(x) Configure SSH access to multipleNew TabCa CloudWatch | us-east-2+ New Tab© Clear all |SHAREDFREQUENCYDailyDailyДAPDATE14/04/207014/04/2026ACTIONSStatus2002062002002002002002002002002002002062002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002/95JY-18909-automated-reports-ask-iiminny = 869909)Q InspectorFilter URLs• ConsoleD DebuggerN Network{) Style Editor( PerformanceELE MemoryE Storage© 99+Disable CacheNo Throttling + 50;HllMLeSSrontsImagesMediaWsotherPOSTPOSTPOSTPoslPOSTPoslPOSTPOSTPOSTPOSTPOSIPOSTPOSTPOSTPosIPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSIPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOST69 requestsDomainInitiatorTasvonxaroauonnrsaunaereo-0190gus9-ga0g- xnTypeAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrr.logr-in.comira=ponxat/plattorm-staging&r=0-019d8b99-9acs- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comla=oonxarolatrorm-stacinear=o-u1saooss-gacs- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhr8r.logr-in.comrazoonxatoattorm-stacingxr=0-01908099-9acs- xhnA r.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comira=ponxat/plattorm-staging&r=6-019d8b99-9acs- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9: +a xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrjsonArlogr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrrloar-in.comrasoonxatoattorm-stacingxr=0-01908099-9acs- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comira=ponxat/plattorm-staging&r=0-019d8b99-9acs- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrA r.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhr8r.logr-in.comifa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrjsonAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comira=ponxat/plattorm-staging&r=6-019d8b99-9acs- xhrIsonAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9: +a xhrA r.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrArlogr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comrasoonxatoattorm-stacingxr=0-01908099-9acs- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhr8r.logr-in.comrasoonxatoattorm-stacingxr=0-01908099-9acs- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- [EMAIL]/o atform-stacing&r=6-019d8099-9ac3- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrArlogr-in.comrazoonxatoattorm-stacingxr=0-01908099-9acs- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrlison48.37 kB / 655.21 kB transferredFinish: 7.26 min DOMContentLoaded: 64 ms• load: 207 msTransferredZ.LT KD2.27 kB2.20 KB770 k34.54 kB2.96 kB2.33 kB3.14 kB2.27 kB2.53 kB2.53 KB2.53 kB2.53 KB2.53 kB2.20 kB2.40 kB2.27 kB28kB2.68 kB5.03 KB2.53 kB2.53 KB2.53 kB2.53 kB297 k32.93 kB2.36 kB2.33 kB2.27 kB2.27 kB2.33 KB2.27 kB2.27 kB933k.2.27 kB2.27 kB2.44 kB40 KB2.19 kB2.54 kB2.54 kB9.54 K32.54 kB9.54 K32.53 kB2.54 kB2.53 kB2.33 kB2.27 kBTarom186 ms| 193 mOB|1841OB0BOBOBOBOB...
|
NULL
|
9088277081838458412
|
NULL
|
visual_change
|
ocr
|
NULL
|
FirefoxFileEditViewHistoryBookmarksProfilesToolsWi FirefoxFileEditViewHistoryBookmarksProfilesToolsWindowHelpdoo.sideme.minny.com/di-tcoorlsAl Reports• Report nameNAME -lesto- 1s Aor Zurolesto - 13 ADr 4040PeriodiSuooort Dailv . in 1h2ml(БГ)Tue 14 Apr 13:58:09You are currently impersonating Nikolay Yankov <)Report TypeS03 Ask Jiminny reportsPlatform Sprint 1 Q2 - Platform TeaJY-20543 add AJ reports User piloZ Configure SSH access to multiple@ Console Home | Console Home | u:SecurityGroup | EC2 |us-east-2JY-20543 add AJ reports User pilo5 SRD-6779 | JY-20632 | Unable toJy 19798 evaluation for ai activity& Jiminny7 Ask Jiminny test report - 8 Aor 201Service-Desk - Queues - PlatformC JY-20543 add AJ reports User pilc(x) Configure SSH access to multipleNew TabCa CloudWatch | us-east-2+ New Tab© Clear all |SHAREDFREQUENCYDailyDailyДAPDATE14/04/207014/04/2026ACTIONSStatus2002062002002002002002002002002002002062002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002/95JY-18909-automated-reports-ask-iiminny = 869909)Q InspectorFilter URLs• ConsoleD DebuggerN Network{) Style Editor( PerformanceELE MemoryE Storage© 99+Disable CacheNo Throttling + 50;HllMLeSSrontsImagesMediaWsotherPOSTPOSTPOSTPoslPOSTPoslPOSTPOSTPOSTPOSTPOSIPOSTPOSTPOSTPosIPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSIPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOSTPOST69 requestsDomainInitiatorTasvonxaroauonnrsaunaereo-0190gus9-ga0g- xnTypeAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrr.logr-in.comira=ponxat/plattorm-staging&r=0-019d8b99-9acs- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comla=oonxarolatrorm-stacinear=o-u1saooss-gacs- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhr8r.logr-in.comrazoonxatoattorm-stacingxr=0-01908099-9acs- xhnA r.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comira=ponxat/plattorm-staging&r=6-019d8b99-9acs- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9: +a xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrjsonArlogr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrrloar-in.comrasoonxatoattorm-stacingxr=0-01908099-9acs- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comira=ponxat/plattorm-staging&r=0-019d8b99-9acs- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrA r.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhr8r.logr-in.comifa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrjsonAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comira=ponxat/plattorm-staging&r=6-019d8b99-9acs- xhrIsonAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9: +a xhrA r.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrArlogr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comrasoonxatoattorm-stacingxr=0-01908099-9acs- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhr8r.logr-in.comrasoonxatoattorm-stacingxr=0-01908099-9acs- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comiPa=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- [EMAIL]/o atform-stacing&r=6-019d8099-9ac3- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrArlogr-in.comrazoonxatoattorm-stacingxr=0-01908099-9acs- xhnAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrAr.logr-in.comi?a=ponxaf/platform-staging&r=6-019d8b99-9ac3- xhrlison48.37 kB / 655.21 kB transferredFinish: 7.26 min DOMContentLoaded: 64 ms• load: 207 msTransferredZ.LT KD2.27 kB2.20 KB770 k34.54 kB2.96 kB2.33 kB3.14 kB2.27 kB2.53 kB2.53 KB2.53 kB2.53 KB2.53 kB2.20 kB2.40 kB2.27 kB28kB2.68 kB5.03 KB2.53 kB2.53 KB2.53 kB2.53 kB297 k32.93 kB2.36 kB2.33 kB2.27 kB2.27 kB2.33 KB2.27 kB2.27 kB933k.2.27 kB2.27 kB2.44 kB40 KB2.19 kB2.54 kB2.54 kB9.54 K32.54 kB9.54 K32.53 kB2.54 kB2.53 kB2.33 kB2.27 kBTarom186 ms| 193 mOB|1841OB0BOBOBOBOB...
|
NULL
|
|
81438
|
2169
|
11
|
2026-04-25T16:25:54.843735+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-25/1777 /Users/lukas/.screenpipe/data/data/2026-04-25/1777134354843_m2.jpg...
|
Firefox
|
DXP4800PLUS-B5F8 — Personal
|
1
|
nas.lakylak.xyz/desktop/#/
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (7) - [EMAIL] - Gmail
(56) DXP4800PLUS-B5F8
Inbox (7) - [EMAIL] - Gmail
(56) Inbox | [EMAIL] | Proton Mail
Welcome back
Welcome back
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Today's Deals
Today's Deals
architecture - screenpipe docs
architecture - screenpipe docs
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude Platform
Claude Platform
Hey @louis030195 Ill check during my - screenpipe.com
Hey @louis030195 Ill check during my - screenpipe.com
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
Gitea Official Website
Gitea Official Website
lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea
lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea
New Tab
New Tab
MikroTik · CRS304-4XG-IN
MikroTik · CRS304-4XG-IN
New Tab
Customize sidebar
Open Le Chat Mistral (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
753
B/s
582
B/s
Files
Control Panel
Storage
App Center
Logs
Support
Task Manager
Universal Search
Music
Cloud Drives
Theater
Photos
Online Office
TextEdit
Virtual Machine
Downloads
DLNA
File Version Explorer
Security
Jellyfin-HT
SAN Manager
Vault
Snapshot
Comics
Sync & Backup
Control Panel
Search
Connection & Access
User Management
File Service
Device Connection
Domain/LDAP
Terminal
General
Hardware & Power
Time & Language
Network
Security
Indexing Service
Service
About
Update & Restore
Files
Personal Folder
Shared Folder
User Folder
Tag
Recycle Bin
Shared Folder
Shared Folder
Please enter
Name
Size
Type
Modification date
Youtube...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"bounds":{"left":0.0018284575,"top":0.0518755,"width":0.03673537,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXRadioButton","text":"Inbox (7) - kovaliklukas@gmail.com - Gmail","depth":4,"bounds":{"left":0.03856383,"top":0.0518755,"width":0.03656915,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"(56) Inbox | kovaliklukas@proton.me | Proton Mail","depth":4,"bounds":{"left":0.07513298,"top":0.0518755,"width":0.03673537,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Welcome back","depth":4,"bounds":{"left":0.0,"top":0.09497207,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Welcome back","depth":5,"bounds":{"left":0.013297873,"top":0.10614525,"width":0.025265958,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":4,"bounds":{"left":0.0,"top":0.12769353,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":5,"bounds":{"left":0.013297873,"top":0.13886672,"width":0.26263297,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Today's Deals","depth":4,"bounds":{"left":0.0,"top":0.16041501,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Today's Deals","depth":5,"bounds":{"left":0.013297873,"top":0.17158818,"width":0.024102394,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"architecture - screenpipe docs","depth":4,"bounds":{"left":0.0,"top":0.19313647,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"architecture - screenpipe docs","depth":5,"bounds":{"left":0.013297873,"top":0.20430966,"width":0.053523935,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Code works better when you stop treating it like a machine - kovaliklukas@gmail.com - Gmail","depth":4,"bounds":{"left":0.0,"top":0.22585794,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Code works better when you stop treating it like a machine - kovaliklukas@gmail.com - Gmail","depth":5,"bounds":{"left":0.013297873,"top":0.23703113,"width":0.1747008,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"bounds":{"left":0.0,"top":0.2585794,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"bounds":{"left":0.013297873,"top":0.2697526,"width":0.037898935,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"bounds":{"left":0.0,"top":0.29130086,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"bounds":{"left":0.013297873,"top":0.30247405,"width":0.040724736,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"bounds":{"left":0.0,"top":0.32402235,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"bounds":{"left":0.013297873,"top":0.33519554,"width":0.03756649,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Platform","depth":4,"bounds":{"left":0.0,"top":0.3567438,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Platform","depth":5,"bounds":{"left":0.013297873,"top":0.367917,"width":0.027925532,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Hey @louis030195 Ill check during my - screenpipe.com","depth":4,"bounds":{"left":0.0,"top":0.38946527,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hey @louis030195 Ill check during my - screenpipe.com","depth":5,"bounds":{"left":0.013297873,"top":0.40063846,"width":0.09790558,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub","depth":4,"bounds":{"left":0.0,"top":0.42218676,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub","depth":5,"bounds":{"left":0.013297873,"top":0.43335995,"width":0.22556517,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Gong Pricing in 2026: Costs, Plans & Is It Worth It?","depth":4,"bounds":{"left":0.0,"top":0.45490822,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gong Pricing in 2026: Costs, Plans & Is It Worth It?","depth":5,"bounds":{"left":0.013297873,"top":0.4660814,"width":0.08826463,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - kovaliklukas@gmail.com - Gmail","depth":4,"bounds":{"left":0.0,"top":0.48762968,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - kovaliklukas@gmail.com - Gmail","depth":5,"bounds":{"left":0.013297873,"top":0.49880287,"width":0.28075132,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Gitea Official Website","depth":4,"bounds":{"left":0.0,"top":0.5203512,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gitea Official Website","depth":5,"bounds":{"left":0.013297873,"top":0.53152436,"width":0.03756649,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea","depth":4,"bounds":{"left":0.0,"top":0.55307263,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea","depth":5,"bounds":{"left":0.013297873,"top":0.5642458,"width":0.10555186,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.5857941,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"bounds":{"left":0.013297873,"top":0.5969673,"width":0.014960106,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"MikroTik · CRS304-4XG-IN","depth":4,"bounds":{"left":0.0,"top":0.61851555,"width":0.113696806,"height":0.032721467},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"MikroTik · CRS304-4XG-IN","depth":5,"bounds":{"left":0.013297873,"top":0.62968874,"width":0.046875,"height":0.010774142},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6528332,"width":0.108211435,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Le Chat Mistral (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"753","depth":15,"bounds":{"left":0.92769283,"top":0.06264964,"width":0.005984043,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"B/s","depth":15,"bounds":{"left":0.93367684,"top":0.06304868,"width":0.004155585,"height":0.0075818035},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"582","depth":15,"bounds":{"left":0.92769283,"top":0.07222666,"width":0.005984043,"height":0.008379889},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"B/s","depth":15,"bounds":{"left":0.93367684,"top":0.0726257,"width":0.004155585,"height":0.0075818035},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files","depth":13,"bounds":{"left":0.13663563,"top":0.1707901,"width":0.009973404,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Panel","depth":13,"bounds":{"left":0.12749335,"top":0.2697526,"width":0.02825798,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Storage","depth":13,"bounds":{"left":0.13347739,"top":0.36871508,"width":0.016289894,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"App Center","depth":13,"bounds":{"left":0.12982048,"top":0.46767756,"width":0.023603724,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Logs","depth":13,"bounds":{"left":0.13663563,"top":0.5666401,"width":0.009973404,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Support","depth":13,"bounds":{"left":0.13347739,"top":0.66560256,"width":0.016289894,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Task Manager","depth":13,"bounds":{"left":0.12699468,"top":0.76456505,"width":0.02925532,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Universal Search","depth":13,"bounds":{"left":0.123836435,"top":0.86352754,"width":0.03557181,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Music","depth":13,"bounds":{"left":0.18334441,"top":0.1707901,"width":0.012300532,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Cloud Drives","depth":13,"bounds":{"left":0.17619681,"top":0.2697526,"width":0.026595745,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Theater","depth":13,"bounds":{"left":0.18151596,"top":0.36871508,"width":0.015957447,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Photos","depth":13,"bounds":{"left":0.18218085,"top":0.46767756,"width":0.01462766,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Online Office","depth":13,"bounds":{"left":0.17603059,"top":0.5666401,"width":0.026928192,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TextEdit","depth":13,"bounds":{"left":0.18118352,"top":0.66560256,"width":0.01662234,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Virtual Machine","depth":13,"bounds":{"left":0.17353724,"top":0.76456505,"width":0.031914894,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Downloads","depth":13,"bounds":{"left":0.17802526,"top":0.86352754,"width":0.022938829,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DLNA","depth":13,"bounds":{"left":0.23121676,"top":0.1707901,"width":0.012300532,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File Version Explorer","depth":13,"bounds":{"left":0.2159242,"top":0.2697526,"width":0.04288564,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Security","depth":13,"bounds":{"left":0.22888963,"top":0.36871508,"width":0.016954787,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jellyfin-HT","depth":13,"bounds":{"left":0.22639628,"top":0.46767756,"width":0.021941489,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SAN Manager","depth":13,"bounds":{"left":0.22273937,"top":0.5666401,"width":0.02925532,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vault","depth":13,"bounds":{"left":0.2322141,"top":0.66560256,"width":0.010305851,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Snapshot","depth":13,"bounds":{"left":0.22755983,"top":0.76456505,"width":0.019614361,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Comics","depth":13,"bounds":{"left":0.22955452,"top":0.86352754,"width":0.015625,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync & Backup","depth":13,"bounds":{"left":0.26944813,"top":0.1707901,"width":0.03158245,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Panel","depth":10,"bounds":{"left":0.54787236,"top":0.19872306,"width":0.025930852,"height":0.011173184},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"","depth":10,"bounds":{"left":0.7430186,"top":0.19473264,"width":0.007978723,"height":0.01915403},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":11,"bounds":{"left":0.7443484,"top":0.19792499,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":16,"bounds":{"left":0.50797874,"top":0.2434158,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search","depth":15,"bounds":{"left":0.5152925,"top":0.23703113,"width":0.09042553,"height":0.023942538},"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Connection & Access","depth":15,"bounds":{"left":0.36801863,"top":0.2753392,"width":0.044215426,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"User Management","depth":17,"bounds":{"left":0.37084442,"top":0.34357542,"width":0.038231384,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File Service","depth":17,"bounds":{"left":0.42303857,"top":0.34357542,"width":0.024268618,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Device Connection","depth":17,"bounds":{"left":0.4609375,"top":0.34357542,"width":0.0390625,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Domain/LDAP","depth":17,"bounds":{"left":0.51080453,"top":0.34357542,"width":0.029587766,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":17,"bounds":{"left":0.56200135,"top":0.34357542,"width":0.01761968,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":15,"bounds":{"left":0.36801863,"top":0.40782124,"width":0.01662234,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hardware & Power","depth":17,"bounds":{"left":0.37051198,"top":0.47605747,"width":0.038896278,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Time & Language","depth":17,"bounds":{"left":0.4168883,"top":0.47605747,"width":0.03656915,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Network","depth":17,"bounds":{"left":0.47190824,"top":0.47605747,"width":0.016954787,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Security","depth":17,"bounds":{"left":0.517121,"top":0.47605747,"width":0.016954787,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Indexing Service","depth":17,"bounds":{"left":0.55369014,"top":0.47605747,"width":0.034242023,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Service","depth":15,"bounds":{"left":0.36801863,"top":0.53990424,"width":0.015458777,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"About","depth":17,"bounds":{"left":0.38380983,"top":0.60814047,"width":0.012300532,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Update & Restore","depth":17,"bounds":{"left":0.4167221,"top":0.60814047,"width":0.036901597,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"","depth":10,"bounds":{"left":0.7563165,"top":0.22665602,"width":0.007978723,"height":0.01915403},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":11,"bounds":{"left":0.75764626,"top":0.22984837,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files","depth":16,"bounds":{"left":0.5696476,"top":0.23064645,"width":0.008976064,"height":0.011173184},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.37799203,"top":0.26256984,"width":0.0034906915,"height":0.007980846},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Personal Folder","depth":21,"bounds":{"left":0.38397607,"top":0.2601756,"width":0.037732713,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.37799203,"top":0.29130086,"width":0.0034906915,"height":0.007980846},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shared Folder","depth":21,"bounds":{"left":0.38397607,"top":0.28890663,"width":0.033909574,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.37799203,"top":0.3200319,"width":0.0034906915,"height":0.007980846},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"User Folder","depth":21,"bounds":{"left":0.38397607,"top":0.31763768,"width":0.028424202,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.37799203,"top":0.34876296,"width":0.0034906915,"height":0.007980846},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tag","depth":21,"bounds":{"left":0.38397607,"top":0.3463687,"width":0.010472074,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.3773271,"top":0.82521945,"width":0.0066489363,"height":0.015961692},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Recycle Bin","depth":17,"bounds":{"left":0.38663563,"top":0.82681566,"width":0.024601065,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"bounds":{"left":0.4582779,"top":0.26935354,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"bounds":{"left":0.46126994,"top":0.27653632,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"bounds":{"left":0.46891624,"top":0.26935354,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"bounds":{"left":0.47190824,"top":0.27653632,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":18,"bounds":{"left":0.48354387,"top":0.26935354,"width":0.010638298,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":20,"bounds":{"left":0.4865359,"top":0.27653632,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shared Folder","depth":21,"bounds":{"left":0.501496,"top":0.27573824,"width":0.029587766,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shared Folder","depth":21,"bounds":{"left":0.501496,"top":0.27573824,"width":0.029587766,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.70013297,"top":0.27334398,"width":0.00731383,"height":0.017956903},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Please enter","depth":19,"bounds":{"left":0.71143615,"top":0.27015164,"width":0.04454787,"height":0.023942538},"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"","depth":18,"bounds":{"left":0.45794547,"top":0.30367118,"width":0.011303191,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":20,"bounds":{"left":0.46126994,"top":0.31085396,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":18,"bounds":{"left":0.47190824,"top":0.30367118,"width":0.011303191,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":20,"bounds":{"left":0.47523272,"top":0.31085396,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"bounds":{"left":0.68916225,"top":0.30367118,"width":0.011303191,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"bounds":{"left":0.6924867,"top":0.31085396,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"bounds":{"left":0.703125,"top":0.30367118,"width":0.011303191,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"bounds":{"left":0.70644945,"top":0.31085396,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"bounds":{"left":0.71708775,"top":0.30367118,"width":0.011303191,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"bounds":{"left":0.72041225,"top":0.31085396,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"bounds":{"left":0.73105055,"top":0.30367118,"width":0.011303191,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"bounds":{"left":0.734375,"top":0.31085396,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":" ","depth":17,"bounds":{"left":0.7450133,"top":0.30367118,"width":0.015292553,"height":0.025538707},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"bounds":{"left":0.74800533,"top":0.31085396,"width":0.004654255,"height":0.011572227},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":19,"bounds":{"left":0.75398934,"top":0.31165203,"width":0.0039893617,"height":0.009577015},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Name","depth":23,"bounds":{"left":0.46459442,"top":0.3471668,"width":0.010970744,"height":0.011173184},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Size","depth":23,"bounds":{"left":0.6278258,"top":0.3471668,"width":0.007978723,"height":0.011173184},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":23,"bounds":{"left":0.664395,"top":0.3471668,"width":0.008976064,"height":0.011173184},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Modification date","depth":23,"bounds":{"left":0.7009641,"top":0.3471668,"width":0.032912236,"height":0.011173184},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":20,"bounds":{"left":0.75299203,"top":0.3463687,"width":0.005319149,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Youtube","depth":25,"bounds":{"left":0.4739029,"top":0.37988827,"width":0.019448139,"height":0.012769354},"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
9088252967625618448
|
5257177690907138831
|
visual_change
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (7) - [EMAIL] - Gmail
(56) DXP4800PLUS-B5F8
Inbox (7) - [EMAIL] - Gmail
(56) Inbox | [EMAIL] | Proton Mail
Welcome back
Welcome back
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Today's Deals
Today's Deals
architecture - screenpipe docs
architecture - screenpipe docs
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude Platform
Claude Platform
Hey @louis030195 Ill check during my - screenpipe.com
Hey @louis030195 Ill check during my - screenpipe.com
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
Gitea Official Website
Gitea Official Website
lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea
lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea
New Tab
New Tab
MikroTik · CRS304-4XG-IN
MikroTik · CRS304-4XG-IN
New Tab
Customize sidebar
Open Le Chat Mistral (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
753
B/s
582
B/s
Files
Control Panel
Storage
App Center
Logs
Support
Task Manager
Universal Search
Music
Cloud Drives
Theater
Photos
Online Office
TextEdit
Virtual Machine
Downloads
DLNA
File Version Explorer
Security
Jellyfin-HT
SAN Manager
Vault
Snapshot
Comics
Sync & Backup
Control Panel
Search
Connection & Access
User Management
File Service
Device Connection
Domain/LDAP
Terminal
General
Hardware & Power
Time & Language
Network
Security
Indexing Service
Service
About
Update & Restore
Files
Personal Folder
Shared Folder
User Folder
Tag
Recycle Bin
Shared Folder
Shared Folder
Please enter
Name
Size
Type
Modification date
Youtube...
|
81437
|
|
81441
|
2168
|
9
|
2026-04-25T16:25:57.386853+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-25/1777 /Users/lukas/.screenpipe/data/data/2026-04-25/1777134357386_m1.jpg...
|
Firefox
|
DXP4800PLUS-B5F8 — Personal
|
1
|
nas.lakylak.xyz/desktop/#/
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
DXP4800PLUS-B5F8
Inbox (7) - [EMAIL] - Gmail
(56) DXP4800PLUS-B5F8
Inbox (7) - [EMAIL] - Gmail
(56) Inbox | [EMAIL] | Proton Mail
Welcome back
Welcome back
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Today's Deals
Today's Deals
architecture - screenpipe docs
architecture - screenpipe docs
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude Platform
Claude Platform
Hey @louis030195 Ill check during my - screenpipe.com
Hey @louis030195 Ill check during my - screenpipe.com
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
Gitea Official Website
Gitea Official Website
lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea
lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea
New Tab
New Tab
MikroTik · CRS304-4XG-IN
MikroTik · CRS304-4XG-IN
New Tab
Customize sidebar
Open Le Chat Mistral (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
753
B/s
582
B/s
Files
Control Panel
Storage
App Center
Logs
Support
Task Manager
Universal Search
Music
Cloud Drives
Theater
Photos
Online Office
TextEdit
Virtual Machine
Downloads
DLNA
File Version Explorer
Security
Jellyfin-HT
SAN Manager
Vault
Snapshot
Comics
Sync & Backup
Control Panel
Search
Connection & Access
User Management
File Service
Device Connection
Domain/LDAP
Terminal
General
Hardware & Power
Time & Language
Network
Security
Indexing Service
Service
About
Update & Restore
Files
Personal Folder
Shared Folder
User Folder
Tag
Recycle Bin
Shared Folder
Shared Folder
Please enter
Name
Size
Type
Modification date
Youtube...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"DXP4800PLUS-B5F8","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXRadioButton","text":"Inbox (7) - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"(56) Inbox | kovaliklukas@proton.me | Proton Mail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Welcome back","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Welcome back","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Today's Deals","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Today's Deals","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"architecture - screenpipe docs","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"architecture - screenpipe docs","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Code works better when you stop treating it like a machine - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Code works better when you stop treating it like a machine - kovaliklukas@gmail.com - Gmail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Screenpipe — Archive","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Screenpipe — Archive","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: archive.db","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: archive.db","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"SQLite Web: db.sqlite","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"SQLite Web: db.sqlite","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Claude Platform","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Claude Platform","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Hey @louis030195 Ill check during my - screenpipe.com","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Hey @louis030195 Ill check during my - screenpipe.com","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Gong Pricing in 2026: Costs, Plans & Is It Worth It?","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gong Pricing in 2026: Costs, Plans & Is It Worth It?","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - kovaliklukas@gmail.com - Gmail","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - kovaliklukas@gmail.com - Gmail","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Gitea Official Website","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gitea Official Website","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"New Tab","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"New Tab","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"MikroTik · CRS304-4XG-IN","depth":4,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"MikroTik · CRS304-4XG-IN","depth":5,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Le Chat Mistral (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bitwarden","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"753","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"B/s","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"582","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"B/s","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Panel","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Storage","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"App Center","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Logs","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Support","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Task Manager","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Universal Search","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Music","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Cloud Drives","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Theater","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Photos","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Online Office","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TextEdit","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Virtual Machine","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Downloads","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"DLNA","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File Version Explorer","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Security","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jellyfin-HT","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SAN Manager","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Vault","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Snapshot","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Comics","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Sync & Backup","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Control Panel","depth":10,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Search","depth":15,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Connection & Access","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"User Management","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File Service","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Device Connection","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Domain/LDAP","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Terminal","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"General","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Hardware & Power","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Time & Language","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Network","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Security","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Indexing Service","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Service","depth":15,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"About","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Update & Restore","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"","depth":10,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":11,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Files","depth":16,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Personal Folder","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shared Folder","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"User Folder","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Tag","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Recycle Bin","depth":17,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shared Folder","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Shared Folder","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":21,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Please enter","depth":19,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":18,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":" ","depth":17,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":19,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Name","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Size","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Type","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Modification date","depth":23,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"","depth":20,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Youtube","depth":25,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
9088252967625618448
|
5257177690907138831
|
click
|
accessibility
|
NULL
|
DXP4800PLUS-B5F8
Inbox (7) - [EMAIL] - Gmail
(56) DXP4800PLUS-B5F8
Inbox (7) - [EMAIL] - Gmail
(56) Inbox | [EMAIL] | Proton Mail
Welcome back
Welcome back
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Western Digital Red Plus 3.5 6TB 5400rpm 256MB SATA3 (WD60EFPX) от 241,72 € (472,76 лв.) Вътрешен хард диск Western Digital - Pazaruvaj.com
Today's Deals
Today's Deals
architecture - screenpipe docs
architecture - screenpipe docs
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Claude Code works better when you stop treating it like a machine - [EMAIL] - Gmail
Screenpipe — Archive
Screenpipe — Archive
SQLite Web: archive.db
SQLite Web: archive.db
SQLite Web: db.sqlite
SQLite Web: db.sqlite
Claude Platform
Claude Platform
Hey @louis030195 Ill check during my - screenpipe.com
Hey @louis030195 Ill check during my - screenpipe.com
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
GitHub - screenpipe/screenpipe: Run agents that work for you based on what you do. AI finally knows what you are doing · GitHub
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
Gong Pricing in 2026: Costs, Plans & Is It Worth It?
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
GLM 5.1 Thinks Strategically, Data-Center Revolt Intensifies, When Helpful LLMs Turn Unhelpful, Humanoid Robots Get to Work - [EMAIL] - Gmail
Gitea Official Website
Gitea Official Website
lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea
lakylak/screenpipe - screenpipe - Gitea: Git with a cup of tea
New Tab
New Tab
MikroTik · CRS304-4XG-IN
MikroTik · CRS304-4XG-IN
New Tab
Customize sidebar
Open Le Chat Mistral (⌃X)
Open history (⇧⌘H)
Open bookmarks (⌘B)
Bitwarden
753
B/s
582
B/s
Files
Control Panel
Storage
App Center
Logs
Support
Task Manager
Universal Search
Music
Cloud Drives
Theater
Photos
Online Office
TextEdit
Virtual Machine
Downloads
DLNA
File Version Explorer
Security
Jellyfin-HT
SAN Manager
Vault
Snapshot
Comics
Sync & Backup
Control Panel
Search
Connection & Access
User Management
File Service
Device Connection
Domain/LDAP
Terminal
General
Hardware & Power
Time & Language
Network
Security
Indexing Service
Service
About
Update & Restore
Files
Personal Folder
Shared Folder
User Folder
Tag
Recycle Bin
Shared Folder
Shared Folder
Please enter
Name
Size
Type
Modification date
Youtube...
|
81439
|
|
38095
|
780
|
10
|
2026-04-16T13:01:17.138170+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-16/1776 /Users/lukas/.screenpipe/data/data/2026-04-16/1776344477138_m2.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
39034213020023/30Dark AgeAdvance to Feudal Age (Co 39034213020023/30Dark AgeAdvance to Feudal Age (Cost:; twoDark Age buildings)Improves your civilization. Gives you accessto different buildings, more powerful militaryunits, and stronger technologies. Before youcan advance, you must have any two DarkAge buildings: Lumber Camp, Mining Camp,Mill, Dock, or Barracks.(Hotkey: Z)lown Center0/15Đ 3/5koval ikukas (Dravidians)12400/240006 Emperor Karel IV: 678/6784 Roger II of Sicily: 663/6635 Manuel I: 611/6112 Zbigniew Olesnicki: 587/5871 kovaliklukas: 586/5868 Mundzuk the Hun: 578/5787 Themistocles: 574/5743 Anastasios I Dikoros: 550/550...
|
NULL
|
9088108896121548449
|
NULL
|
click
|
ocr
|
NULL
|
39034213020023/30Dark AgeAdvance to Feudal Age (Co 39034213020023/30Dark AgeAdvance to Feudal Age (Cost:; twoDark Age buildings)Improves your civilization. Gives you accessto different buildings, more powerful militaryunits, and stronger technologies. Before youcan advance, you must have any two DarkAge buildings: Lumber Camp, Mining Camp,Mill, Dock, or Barracks.(Hotkey: Z)lown Center0/15Đ 3/5koval ikukas (Dravidians)12400/240006 Emperor Karel IV: 678/6784 Roger II of Sicily: 663/6635 Manuel I: 611/6112 Zbigniew Olesnicki: 587/5871 kovaliklukas: 586/5868 Mundzuk the Hun: 578/5787 Themistocles: 574/5743 Anastasios I Dikoros: 550/550...
|
38093
|
|
43571
|
925
|
53
|
2026-04-17T08:12:46.159530+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-17/1776 /Users/lukas/.screenpipe/data/data/2026-04-17/1776413566159_m2.jpg...
|
Firefox
|
Meet - Daily - Processing — Work
|
1
|
meet.google.com/xpx-omah-rkn
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Workers | Datadog
Meet - Daily - Processing
Close Workers | Datadog
Meet - Daily - Processing
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Return to home screen
[EMAIL]
Switch account
Switch account
Lukas Kovalik
More options
Turn off microphone
Turn off camera
Turn on background blur
Microphone: soundcore AeroClip
Speaker: System Default Speaker Device
Camera: FaceTime HD Camera
Backgrounds and effects
Daily - Processing
Daily - Processing
Ilian Kyuchukov, Mihail Mihaylov, Nikolay Nikolov and Vasil Vasilev are in this call
Use Gemini to take notes Share notes and transcript
Use Gemini to take notes
Share notes and transcript
Start
Start
Join now
Join now
Other ways to join
Gemini is available in Meet as your personal in-meeting assistant. It can analyze conversation via temporary access to meeting captions. Using Ask Gemini won't create a recording or store meeting data. The meeting host can turn it off.
Learn more
Learn more
Your camera is on. Your microphone is on....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Workers | Datadog","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.018945312,"height":-0.045138836},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Meet - Daily - Processing","depth":4,"bounds":{"left":0.23320313,"top":1.0,"width":0.018945312,"height":-0.08263886},"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.23398438,"top":1.0,"width":0.005859375,"height":-0.08263886},"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Return to home screen","depth":10,"bounds":{"left":0.25839844,"top":1.0,"width":0.041015625,"height":-0.056249976},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.70527345,"top":1.0,"width":0.06542969,"height":-0.057291627},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Switch account","depth":11,"bounds":{"left":0.7359375,"top":1.0,"width":0.034765624,"height":-0.068750024},"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Switch account","depth":12,"bounds":{"left":0.7359375,"top":1.0,"width":0.034765624,"height":-0.068750024},"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Lukas Kovalik","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More options","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Turn off microphone","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Turn off camera","depth":14,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Turn on background blur","depth":13,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Microphone: soundcore AeroClip","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Speaker: System Default Speaker Device","depth":13,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Camera: FaceTime HD Camera","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Backgrounds and effects","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Daily - Processing","depth":11,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Daily - Processing","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ilian Kyuchukov, Mihail Mihaylov, Nikolay Nikolov and Vasil Vasilev are in this call","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Use Gemini to take notes Share notes and transcript","depth":11,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Use Gemini to take notes","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Share notes and transcript","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Start","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Start","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Join now","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Join now","depth":14,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Other ways to join","depth":12,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Gemini is available in Meet as your personal in-meeting assistant. It can analyze conversation via temporary access to meeting captions. Using Ask Gemini won't create a recording or store meeting data. The meeting host can turn it off.","depth":12,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Learn more","depth":12,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Learn more","depth":13,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Your camera is on. Your microphone is on.","depth":8,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
9088089117521800913
|
2164047088813590483
|
click
|
accessibility
|
NULL
|
Workers | Datadog
Meet - Daily - Processing
Close Workers | Datadog
Meet - Daily - Processing
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
Return to home screen
[EMAIL]
Switch account
Switch account
Lukas Kovalik
More options
Turn off microphone
Turn off camera
Turn on background blur
Microphone: soundcore AeroClip
Speaker: System Default Speaker Device
Camera: FaceTime HD Camera
Backgrounds and effects
Daily - Processing
Daily - Processing
Ilian Kyuchukov, Mihail Mihaylov, Nikolay Nikolov and Vasil Vasilev are in this call
Use Gemini to take notes Share notes and transcript
Use Gemini to take notes
Share notes and transcript
Start
Start
Join now
Join now
Other ways to join
Gemini is available in Meet as your personal in-meeting assistant. It can analyze conversation via temporary access to meeting captions. Using Ask Gemini won't create a recording or store meeting data. The meeting host can turn it off.
Learn more
Learn more
Your camera is on. Your microphone is on....
|
NULL
|
|
68758
|
1560
|
26
|
2026-04-22T06:36:31.305418+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-22/1776 /Users/lukas/.screenpipe/data/data/2026-04-22/1776839791305_m1.jpg...
|
PhpStorm
|
faVsco.js – api.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...
|
[{"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}]...
|
9088040168932111953
|
-8204138868946784314
|
click
|
hybrid
|
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
iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDaily - Platform - in 9 mA100% <478-zshWed 22 Apr 9:36:31181*8+DOCKER• 81-zsh-882-zshX3* Build full day ac….• &4screenpipe"• 885-zsh86APP (-zsh)JY-11756-remove-activities-foreign-from-calendar-eventJY-11757-fix-close-crm-find-query-logicJY-11787-add-logs-for-late-calendar-importsJY-11807-rework-HS-import-calls-search-methodJY-11809-calendar-separate-logicJY-11890-add-crm-search-strategyJY-11927-change-five9-bucket-nameJY-11927-five9-integrationJY-11928-five9-setupJY-11989-remove-future-calendar-eventsJY-12028-drop-calendar-logs-tableJY-12028-remove-calendar-logsJY-12155-invalid-domain-matchJY-12155-match-data-in-crm-optimisationsJY-12377-fix-bh-phone-matchingJY-12446-add-logs-on-office-calendar-exceptionJY-12511-fix-hubspot-without-owner-profileJY-12511-implement-sync-opportunities-strategyJY-12511-opportunity-full-syncJY-12536-fix-missing-calendar-eventsJY-12775-fix-deprecated-hs-html-tagJY-12775-fix-hs-deprecated-html-tagsJY-12878-fix-pipedrive-crm-stage-field-syncJY-12916-twilio-video-not-recorded-yet-filterJY-12968-apollo-dialer-setuplukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pageserror: Your localchanges to the following files would be overwritten by checkout:routes/web.phpPlease commit your changes or stash them before you switch branches.Abortinglukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pageserror: Your localchanges to the following files would be overwritten by checkout:routes/web.phpPlease commit your changes or stash them before you switch branches.Abortinglukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20372-ai-reports-promotion-pages origin/JY-20372-ai-reports-promotion-pages•env.localapp/Console/Commands/JiminnyDebugCommand.phpapp/Http/Controllers/API/ActivityController.phpapp/Jobs/Team/SyncToIntercom.phpapp/Services/PlaybackService.phpconfig/logging.phpbranch '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) $ D87ec2-user@ip-10-30-......
|
68756
|
|
26709
|
565
|
13
|
2026-04-15T13:30:42.466596+00:00
|
/Users/lukas/.screenpipe/data/data/2026-04-15/1776 /Users/lukas/.screenpipe/data/data/2026-04-15/1776259842466_m2.jpg...
|
Boosteroid
|
Boosteroid
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
[CREDIT_CARD]/135toImperial Age--Warning: You are [CREDIT_CARD]/135toImperial Age--Warning: You are being attacked byPlayer 6 László I!!!---Fortified Wall Research Complete---Forging Research Complete--Elite Longbowman Created-Game Paused (P)Click to select this building.5 Magnus Olafsson: 17127/17127 & IV2 Rajyapala: 14193/141930 IV1 kovaliklukas: 12771/127718 Almish Yiltawar: 11913/11913 ©NV6 László I: 10758/10758 IV7 Maximilian of Habsburg: 8029/8029 W IV4 Louis VI: 7937/7937 IV3 Huascár: 6451/6451 H IV...
|
NULL
|
9088006577162534258
|
NULL
|
click
|
ocr
|
NULL
|
[CREDIT_CARD]/135toImperial Age--Warning: You are [CREDIT_CARD]/135toImperial Age--Warning: You are being attacked byPlayer 6 László I!!!---Fortified Wall Research Complete---Forging Research Complete--Elite Longbowman Created-Game Paused (P)Click to select this building.5 Magnus Olafsson: 17127/17127 & IV2 Rajyapala: 14193/141930 IV1 kovaliklukas: 12771/127718 Almish Yiltawar: 11913/11913 ©NV6 László I: 10758/10758 IV7 Maximilian of Habsburg: 8029/8029 W IV4 Louis VI: 7937/7937 IV3 Huascár: 6451/6451 H IV...
|
26707
|